[Freedreno] [PATCH] drm/msm/dpu: Disable boot loader configured data paths

2022-02-14 Thread Bjorn Andersson
It's typical for the bootloader to configure CTL_0 for the boot splash or EFIFB, but for non-DSI use cases the DPU driver tend to pick another CTL and the system might end up with two configured data paths producing data on the same INTF. In particular as the IOMMU configuration isn't retained from

[Freedreno] [PATCH v2 2/2] drm/msm/dpu: Add SC8180x to hw catalog

2022-02-14 Thread Bjorn Andersson
From: Rob Clark Add SC8180x to the hardware catalog, for initial support for the platform. Due to limitations in the DP driver only one of the four DP interfaces is left enabled. The SC8180x platform supports the newly added DPU_INTF_WIDEBUS flag and the Windows-on-Snapdragon bootloader leaves t

[Freedreno] [PATCH v2 1/2] drm/msm/dpu: Add INTF_5 interrupts

2022-02-14 Thread Bjorn Andersson
SC8180x has the eDP controller wired up to INTF_5, so add the interrupt register block for this interface to the list. Signed-off-by: Bjorn Andersson --- Changes since v1: - None drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 6 ++ drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h | 1

Re: [Freedreno] [PATCH v4 2/2] drm/msm/dp: enable widebus feature for display port

2022-02-14 Thread Bjorn Andersson
On Mon 14 Feb 16:39 CST 2022, Kuogee Hsieh wrote: > Widebus feature will transmit two pixel data per pixel clock to interface. > This feature now is required to be enabled to easy migrant to higher > resolution applications in future. However since some legacy chipsets > does not support this feat

Re: [Freedreno] [PATCH v4 1/2] drm/msm/dp: revise timing engine programming to support widebus feature

2022-02-14 Thread Bjorn Andersson
On Mon 14 Feb 16:39 CST 2022, Kuogee Hsieh wrote: > Widebus feature will transmit two pixel data per pixel clock to interface. > Timing engine provides driving force for this purpose. This patch base > on HPG (Hardware Programming Guide) to revise timing engine register > setting to accommodate bo

Re: [Freedreno] [PATCH 1/2] drm: Add HPD state to drm_connector_oob_hotplug_event()

2022-02-14 Thread Bjorn Andersson
On Mon 14 Feb 09:59 PST 2022, Imre Deak wrote: > On Mon, Feb 07, 2022 at 08:43:27PM -0800, Bjorn Andersson wrote: > > In some implementations, such as the Qualcomm platforms, the display > > driver has no way to query the current HPD state and as such it's > > impossible to distinguish between dis

Re: [Freedreno] [PATCH v5 6/6] drm/msm/dpu: move VBIF blocks handling to dpu_rm

2022-02-14 Thread Abhinav Kumar
On 2/14/2022 2:39 PM, Dmitry Baryshkov wrote: On 15/02/2022 01:04, Abhinav Kumar wrote: On 2/14/2022 12:56 PM, Dmitry Baryshkov wrote: On 14/02/2022 22:53, Abhinav Kumar wrote: On 1/21/2022 1:06 PM, Dmitry Baryshkov wrote: Move handling of VBIF blocks into dpu_rm. This serves the purpo

Re: [Freedreno] [PATCH v5 6/6] drm/msm/dpu: move VBIF blocks handling to dpu_rm

2022-02-14 Thread Dmitry Baryshkov
On 15/02/2022 01:04, Abhinav Kumar wrote: On 2/14/2022 12:56 PM, Dmitry Baryshkov wrote: On 14/02/2022 22:53, Abhinav Kumar wrote: On 1/21/2022 1:06 PM, Dmitry Baryshkov wrote: Move handling of VBIF blocks into dpu_rm. This serves the purpose of unification of handling of all hardware bloc

[Freedreno] [PATCH v4 2/2] drm/msm/dp: enable widebus feature for display port

2022-02-14 Thread Kuogee Hsieh
Widebus feature will transmit two pixel data per pixel clock to interface. This feature now is required to be enabled to easy migrant to higher resolution applications in future. However since some legacy chipsets does not support this feature, this feature is enabled base on chip's hardware revisi

[Freedreno] [PATCH v4 1/2] drm/msm/dp: revise timing engine programming to support widebus feature

2022-02-14 Thread Kuogee Hsieh
Widebus feature will transmit two pixel data per pixel clock to interface. Timing engine provides driving force for this purpose. This patch base on HPG (Hardware Programming Guide) to revise timing engine register setting to accommodate both widebus and non widebus application. Also horizontal wid

[Freedreno] [PATCH v4 0/2] enable widebus feature base on chip hardware revision

2022-02-14 Thread Kuogee Hsieh
split into 2 patches 1) widebus timing engine programming 2) enable widebus feature base on chip hardware revision Kuogee Hsieh (2): drm/msm/dp: revise timing engine programming to support widebus feature drm/msm/dp: enable widebus feature for display port drivers/gpu/drm/msm/disp/dpu1/

Re: [Freedreno] [PATCH v5 6/6] drm/msm/dpu: move VBIF blocks handling to dpu_rm

2022-02-14 Thread Abhinav Kumar
On 2/14/2022 12:56 PM, Dmitry Baryshkov wrote: On 14/02/2022 22:53, Abhinav Kumar wrote: On 1/21/2022 1:06 PM, Dmitry Baryshkov wrote: Move handling of VBIF blocks into dpu_rm. This serves the purpose of unification of handling of all hardware blocks inside the DPU driver. This removes han

Re: [Freedreno] [PATCH v2] drm/msm: populate intf_audio_select() base on hardware capability

2022-02-14 Thread Dmitry Baryshkov
On 15/02/2022 00:46, Kuogee Hsieh wrote: intf_audio_select() callback function use to configure HDMI_DP_CORE_SELECT to decide audio output routes to HDMI or DP interface. HDMI is obsoleted at newer chipset. To keep supporting legacy hdmi application, intf_audio_select call back function have to b

[Freedreno] [PATCH v2] drm/msm: populate intf_audio_select() base on hardware capability

2022-02-14 Thread Kuogee Hsieh
intf_audio_select() callback function use to configure HDMI_DP_CORE_SELECT to decide audio output routes to HDMI or DP interface. HDMI is obsoleted at newer chipset. To keep supporting legacy hdmi application, intf_audio_select call back function have to be populated base on hardware chip capabilit

Re: [Freedreno] [PATCH v5 5/6] drm/msm/dpu: fix error handling in dpu_rm_init

2022-02-14 Thread Abhinav Kumar
On 2/14/2022 12:43 PM, Dmitry Baryshkov wrote: On 14/02/2022 22:15, Abhinav Kumar wrote: On 1/21/2022 1:06 PM, Dmitry Baryshkov wrote: Using IS_ERR_OR_NULL() together with PTR_ERR() is a typical mistake. If the value is NULL, then the function will return 0 instead of a proper return code.

Re: [Freedreno] [PATCH] drm/msm: populate intf_audio_select() base on hardware capability

2022-02-14 Thread Dmitry Baryshkov
On 14/02/2022 20:55, Kuogee Hsieh wrote: On 2/11/2022 3:36 PM, Dmitry Baryshkov wrote: On Sat, 12 Feb 2022 at 02:23, Kuogee Hsieh wrote: intf_audio_select() callback function use to configure HDMI_DP_CORE_SELECT to decide audio output routes to HDMI or DP interface. HDMI is obsoleted at newer

Re: [Freedreno] [PATCH v5 6/6] drm/msm/dpu: move VBIF blocks handling to dpu_rm

2022-02-14 Thread Dmitry Baryshkov
On 14/02/2022 22:53, Abhinav Kumar wrote: On 1/21/2022 1:06 PM, Dmitry Baryshkov wrote: Move handling of VBIF blocks into dpu_rm. This serves the purpose of unification of handling of all hardware blocks inside the DPU driver. This removes hand-coded loops in dpu_vbif (which look for necessary

Re: [Freedreno] [PATCH v5 5/6] drm/msm/dpu: fix error handling in dpu_rm_init

2022-02-14 Thread Dmitry Baryshkov
On 14/02/2022 22:15, Abhinav Kumar wrote: On 1/21/2022 1:06 PM, Dmitry Baryshkov wrote: Using IS_ERR_OR_NULL() together with PTR_ERR() is a typical mistake. If the value is NULL, then the function will return 0 instead of a proper return code. Moreover none of dpu_hw_*_init() functions can ret

Re: [Freedreno] [PATCH v5 6/6] drm/msm/dpu: move VBIF blocks handling to dpu_rm

2022-02-14 Thread Abhinav Kumar
On 1/21/2022 1:06 PM, Dmitry Baryshkov wrote: Move handling of VBIF blocks into dpu_rm. This serves the purpose of unification of handling of all hardware blocks inside the DPU driver. This removes hand-coded loops in dpu_vbif (which look for necessary VBIF instance by looping through the dpu_

Re: [Freedreno] [PATCH v5 5/6] drm/msm/dpu: fix error handling in dpu_rm_init

2022-02-14 Thread Abhinav Kumar
On 1/21/2022 1:06 PM, Dmitry Baryshkov wrote: Using IS_ERR_OR_NULL() together with PTR_ERR() is a typical mistake. If the value is NULL, then the function will return 0 instead of a proper return code. Moreover none of dpu_hw_*_init() functions can return NULL. So, replace all dpu_rm_init()'s

Re: [Freedreno] [PATCH v5 4/6] drm/msm/dpu: stop embedding dpu_hw_blk into dpu_hw_intf

2022-02-14 Thread Abhinav Kumar
On 1/21/2022 1:06 PM, Dmitry Baryshkov wrote: Now as dpu_hw_intf is not hanled by dpu_rm_get_assigned_resources, there is no point in embedding the (empty) struct dpu_hw_blk into dpu_hw_intf (and using typecasts between dpu_hw_blk and dpu_hw_intf). Drop it and use dpu_hw_intf directly. Signed

Re: [Freedreno] [PATCH 1/2] drm: Add HPD state to drm_connector_oob_hotplug_event()

2022-02-14 Thread Imre Deak
On Mon, Feb 07, 2022 at 08:43:27PM -0800, Bjorn Andersson wrote: > In some implementations, such as the Qualcomm platforms, the display > driver has no way to query the current HPD state and as such it's > impossible to distinguish between disconnect and attention events. > > Add a parameter to dr

Re: [Freedreno] [PATCH] drm/msm: populate intf_audio_select() base on hardware capability

2022-02-14 Thread Kuogee Hsieh
On 2/11/2022 3:36 PM, Dmitry Baryshkov wrote: On Sat, 12 Feb 2022 at 02:23, Kuogee Hsieh wrote: intf_audio_select() callback function use to configure HDMI_DP_CORE_SELECT to decide audio output routes to HDMI or DP interface. HDMI is obsoleted at newer chipset. To keep supporting legacy hdmi a

Re: [Freedreno] [PATCH v3 0/3] Add connector_type to debug info to differentiate between eDP and DP

2022-02-14 Thread Kuogee Hsieh
Hi Stephen, Can you please review this serial patches. On 2/2/2022 10:56 AM, Kuogee Hsieh wrote: 1) Add connector_type to debug info to differentiate between eDP and DP 2) add more debug info to cover dp Phy 3) repalce DRM_DEBUG_DP with drm_debug_dp Kuogee Hsieh (3): drm/msm/dp: add connect

Re: [Freedreno] [PATCH v2] drm/msm/dp: always add fail-safe mode into connector mode list

2022-02-14 Thread Kuogee Hsieh
Hi Stephen, Are you have more comments? On 1/24/2022 3:17 PM, Kuogee Hsieh wrote: Some of DP link compliant test expects to return fail-safe mode if prefer detailed timing mode can not be supported by mainlink's lane and rate after link training. Therefore add fail-safe mode into connector mod

[Freedreno] [PATCH v2 3/3] dt-bindings: msm/dsi: Add qcm2290 dsi controller binding

2022-02-14 Thread Loic Poulain
Add DSI block specific qcm2290 compatible string as valid Qualcomm DSI controller. Signed-off-by: Loic Poulain --- v2: no change .../devicetree/bindings/display/msm/dsi-controller-main.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetr

[Freedreno] [PATCH v3 2/2] dt-bindings: msm: disp: add yaml schemas for QCM2290 DPU bindings

2022-02-14 Thread Loic Poulain
QCM2290 MSM Mobile Display Subsystem (MDSS) encapsulates sub-blocks like DPU display controller, DSI etc. Add YAML schema for DPU device tree bindings Signed-off-by: Loic Poulain --- v2: no change v3: no change (resent with reviewed-by + freedreno list) .../bindings/display/msm/dpu-qcm2290.ya

[Freedreno] [PATCH v2 2/3] drm/msm/dsi: Add support for qcm2290 dsi controller

2022-02-14 Thread Loic Poulain
QCM2290 MDSS includes a Qualcomm DSI controller v2.4.1. Since this controller version is not SoC specific, and already assigned to sc7180 for auto configuration, we rely on DSI block specific compatible string "qcom,dsi-ctrl-6g-qcm2290", and use the device's data to point to the right dsi config ha

[Freedreno] [PATCH v3 1/2] drm/msm: add support for QCM2290 MDSS

2022-02-14 Thread Loic Poulain
Add compatibility for QCM2290 display subsystem, including required entries in DPU hw catalog. Signed-off-by: Loic Poulain Reviewed-by: Dmitry Baryshkov --- v2: - Add BIT(DPU_SSPP_QOS_8LVL) to qcm2290 vig mask - drop qseed_type from dpu caps as there is no scaler - rename _QCM2290_VIG

[Freedreno] [PATCH v2 1/3] drm/msm/dsi: Allow to specify dsi config as pdata

2022-02-14 Thread Loic Poulain
Config autodetect based on DSI controller version is quite limited since several qcom SoCs can integrate a DSI controller with the same version, but with different config (io_offset, supplies, etc). This change allows to specify dsi config via device data pointer. config autodetect is still used i