t; Cc: Maxime Ripard
> Cc: Chen-Yu Tsai
> Cc: Thierry Reding
> Cc: Sam Ravnborg
> Cc: Rui Miguel Silva
> Cc: Laurent Pinchart
> Cc: Mauro Carvalho Chehab
> Cc: "David S. Miller"
> Cc: Jakub Kicinski
> Cc: Mark Brown
> Cc: Robert Marko
> Cc: Philipp Z
atform_get_irq(pdev, 0));
> + ret = platform_get_irq(pdev, 0);
> + if (ret < 0)
> + goto err_modeset_cleanup;
> + sdev->irq = ret;
> +
> + ret = request_irq(sdev->irq, shmob_drm_irq, 0, ddev->driver->name,
> +
rcar-du/Makefile
> >> @@ -5,6 +5,7 @@ rcar-du-drm-y := rcar_du_crtc.o \
> >> rcar_du_group.o \
> >> rcar_du_kms.o \
> >> rcar_du_plane.o \
> >> + rcar_cmm.o
> >>
> >> rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += rcar_du_of.o \
> >> rcar_du_of_lvds_r8a7790.dtb.o \
> >> @@ -15,7 +16,6 @@ rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += rcar_du_of.o
> >> \
> >> rcar-du-drm-$(CONFIG_DRM_RCAR_VSP) += rcar_du_vsp.o
> >> rcar-du-drm-$(CONFIG_DRM_RCAR_WRITEBACK) += rcar_du_writeback.o
> >>
> >> -obj-$(CONFIG_DRM_RCAR_CMM)+= rcar_cmm.o
> >> obj-$(CONFIG_DRM_RCAR_DU)+= rcar-du-drm.o
> >> obj-$(CONFIG_DRM_RCAR_DW_HDMI) += rcar_dw_hdmi.o
> >> obj-$(CONFIG_DRM_RCAR_LVDS) += rcar_lvds.o
--
Regards,
Laurent Pinchart
pect the issue lies somewhere in this config that the CMM is not
> >> being enforced to be a built in when the DU is built in ?
> >>
> >>
> >>> config DRM_RCAR_DW_HDMI
> >>> tristate "R-Car Gen3 and RZ/G2 DU HDMI Encoder Support"
> >>> depends on DRM && OF
> >>> diff --git a/drivers/gpu/drm/rcar-du/Makefile
> >>> b/drivers/gpu/drm/rcar-du/Makefile
> >>> index 4d1187ccc3e5..76ff2e15bc2d 100644
> >>> --- a/drivers/gpu/drm/rcar-du/Makefile
> >>> +++ b/drivers/gpu/drm/rcar-du/Makefile
> >>> @@ -5,6 +5,7 @@ rcar-du-drm-y := rcar_du_crtc.o \
> >>> rcar_du_group.o \
> >>> rcar_du_kms.o \
> >>> rcar_du_plane.o \
> >>> + rcar_cmm.o
> >>> rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += rcar_du_of.o \
> >>> rcar_du_of_lvds_r8a7790.dtb.o \
> >>> @@ -15,7 +16,6 @@ rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) +=
> >>> rcar_du_of.o \
> >>> rcar-du-drm-$(CONFIG_DRM_RCAR_VSP) += rcar_du_vsp.o
> >>> rcar-du-drm-$(CONFIG_DRM_RCAR_WRITEBACK) += rcar_du_writeback.o
> >>> -obj-$(CONFIG_DRM_RCAR_CMM) += rcar_cmm.o
> >>> obj-$(CONFIG_DRM_RCAR_DU) += rcar-du-drm.o
> >>> obj-$(CONFIG_DRM_RCAR_DW_HDMI) += rcar_dw_hdmi.o
> >>> obj-$(CONFIG_DRM_RCAR_LVDS) += rcar_lvds.o
--
Regards,
Laurent Pinchart
point for fear
or triggering build warnings that I wouldn't be able to catch locally.
If there's a consensus that fully relaxing the platform requirement is
better, I can submit a new version that does so and rely on the 0day bot
to catch issues.
Laurent Pinchart (7):
drm/omap: Cast point
To extend test coverage, relax the dependency on ARCH_MXC to also enable
compilation when COMPILE_TEST is selected.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/imx/dcss/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/imx/dcss/Kconfig b
On 64-bit platforms, the compiler complains that casting a void pointer
to an unsigned int loses data. Cast the pointer to a uintptr_t unsigned
to fix this.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a
The correct format specifier for size_t is %zu. Using %d (or %u)
generates a warning on 64-bit platforms. Fix it.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/sti/sti_hqvdp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers
To extend test coverage, relax the dependency on ARCH_OMAP2PLUS or
ARCH_MULTIPLATFORM to also enable compilation on ARM or ARM4 when
COMPILE_TEST is selected.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a
To extend test coverage, relax the dependency on ARCH_STI or
ARCH_MULTIPLATFORM to also enable compilation on ARM or ARM4 when
COMPILE_TEST is selected.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/sti/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers
To extend test coverage, support COMPILE_TEST on ARM64 in addition to
ARM.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/tilcdc/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/tilcdc/Kconfig b/drivers/gpu/drm/tilcdc/Kconfig
index 9f505a149990
To extend test coverage, support COMPILE_TEST on ARM64 in addition to
ARM.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/tegra/Kconfig | 2 +-
drivers/gpu/host1x/Kconfig| 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/tegra/Kconfig b/drivers/gpu
The R-Car MIPI DSI/CSI-2 TX is embedded in the Renesas R-Car V3U SoC. It
can operate in either DSI or CSI-2 mode, with up to four data lanes.
Signed-off-by: Laurent Pinchart
Reviewed-by: Kieran Bingham
---
Looks like I forgot to CC the devicetree mailing list and Rob Herring on
the first try
Colin Ian King (1):
drm/bridge: make a const array static, makes object smaller
Laurent Pinchart (10):
drm: rcar-du: Shutdown the display on system shutdown
drm: rcar-du: Don't put reference to drm_device in rcar_du_r
ted dma-buf
regardless of the number of scatterlist entries. The sgtable will be
mapped to the VSP at .prepare_fb() time, which will reject the
framebuffer if the VSP isn't connected to an IOMMU.
Signed-off-by: Laurent Pinchart
---
This can arguably be considered as a bit of a hack, as the G
Hi Sam,
On Thu, Jul 29, 2021 at 06:53:33PM +0200, Sam Ravnborg wrote:
> On Wed, Jul 28, 2021 at 06:37:29PM +0300, Laurent Pinchart wrote:
> > Hello,
> >
> > This patch series stems from subsystem-wide changes I wanted to
> > compile-test with an ARM64 cross-compiler. M
Hi Tomi,
On Thu, Jul 29, 2021 at 09:13:17AM +0300, Tomi Valkeinen wrote:
> On 28/07/2021 18:37, Laurent Pinchart wrote:
> > On 64-bit platforms, the compiler complains that casting a void pointer
> > to an unsigned int loses data. Cast the pointer to a uintptr_t unsigned
case someone copies the whole char array blindly.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/drm_property.c | 9 +++--
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/drm_property.c b/drivers/gpu/drm/drm_property.c
index 27c824a6eb60..32404891446e 10064
To extend test coverage, relax the dependency on ARCH_MXC and ARM64 to
also enable compilation when COMPILE_TEST is selected.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- Enable COMPILE_TEST on all architectures
---
drivers/gpu/drm/imx/dcss/Kconfig | 3 ++-
1 file changed, 2
or the driver(s) you
maintain.
Laurent Pinchart (9):
drm/omap: Use correct printk format specifiers for size_t
drm/omap: Cast pointer to integer without generating warning
drm/sti: Use correct printk format specifiers for size_t
drm/imx/dcss: Enable COMPILE_TEST on all architectures
d
The correct format specifier for size_t is %zu. Using %d (or %u)
generates a warning on 64-bit platforms. Fix it.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c
b
The correct format specifier for size_t is %zu. Using %d (or %u)
generates a warning on 64-bit platforms. Fix it.
Signed-off-by: Laurent Pinchart
Reviewed-by: Philippe Cornu
---
drivers/gpu/drm/sti/sti_hqvdp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu
On 64-bit platforms, the compiler complains that casting a void pointer
to an unsigned int loses data. Cast the pointer to a uintptr_t unsigned
to fix this.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a
To extend test coverage, relax the dependency on ARCH_OMAP2PLUS or
ARCH_MULTIPLATFORM to also enable compilation with COMPILE_TEST.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- Enable COMPILE_TEST on all architectures
---
drivers/gpu/drm/omapdrm/Kconfig | 2 +-
1 file changed, 1
To extend test coverage, support COMPILE_TEST on all architectures by
dropping the ARM || ARM64 dependency. The dependency is a no-op when
COMPILE_TEST is not selected as ARCH_RENESAS can only be defined for ARM
or ARM64.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/rcar-du/Kconfig | 1
To extend test coverage, support COMPILE_TEST on all architectures.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- Enable COMPILE_TEST on all architectures
---
drivers/gpu/drm/tegra/Kconfig | 2 +-
drivers/gpu/host1x/Kconfig| 2 +-
2 files changed, 2 insertions(+), 2 deletions
To extend test coverage, support COMPILE_TEST on ARM64 in addition to
ARM.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/tilcdc/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/tilcdc/Kconfig b/drivers/gpu/drm/tilcdc/Kconfig
index 9f505a149990
To extend test coverage, relax the dependency on ARCH_STI or
ARCH_MULTIPLATFORM to also enable compilation with COMPILE_TEST.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- Enable COMPILE_TEST on all architectures
---
drivers/gpu/drm/sti/Kconfig | 3 ++-
1 file changed, 2 insertions
Hi Sergey,
On Sat, Jul 31, 2021 at 01:12:58PM +0300, Sergei Shtylyov wrote:
> On 31.07.2021 4:39, Laurent Pinchart wrote:
>
> > On 64-bit platforms, the compiler complains that casting a void pointer
> > to an unsigned int loses data. Cast the pointer to a uintptr_t un
Hi Rob,
On Mon, Aug 02, 2021 at 04:37:38PM -0600, Rob Herring wrote:
> On Wed, Jul 28, 2021 at 07:26:39PM +0300, Laurent Pinchart wrote:
> > The R-Car MIPI DSI/CSI-2 TX is embedded in the Renesas R-Car V3U SoC. It
> > can operate in either DSI or CSI-2 mode, with up to
ault";
> +pinctrl-0 = <&ite_pins_default>;
> +vcn33-supply = <&mt6358_vcn33_wifi_reg>;
> +vcn18-supply = <&mt6358_vcn18_reg>;
> +vrf12-supply = <&mt6358_vrf12_reg>;
> +reset-gpios = <&pio 1
gt; > +vcn33-supply = <&mt6358_vcn33_wifi_reg>;
> > +vcn18-supply = <&mt6358_vcn18_reg>;
> > + vrf12-supply = <&mt6358_vrf12_reg>;
> > +reset-gpios = <&pio 160 1 /* GPIO_ACTIVE_LOW */>;
> > +interrupt-pa
about hot plug detection
> >>> events.
> >>
> >> It's implemented in the IRQ handler with the
> >> IT66121_INT_STATUS1_HPD_STATUS event.
> >
> > I didn't even get that far :)
> >
> > Either way, the HPD support should be exposed in d
ice connected to the DDC/AUX port to read the
EDID and provide modes. The panel driver won't be able to handle it on
its own.
> >> - ddc driver on i2c request should power up the panel - seems also correct,
> >
> > Right, so I could put the
> > "drm_
t; how to enable (or disable) this new delayed behavior selectively.
> - In order for this to work we now have a hard dependency on
> "PM". From memory this is a legit thing to assume these days and we
> don't have to find some fallback to keep working if someone wants t
Hi Doug,
On Wed, Apr 14, 2021 at 06:22:57PM -0700, Doug Anderson wrote:
> On Wed, Apr 14, 2021 at 5:58 PM Laurent Pinchart wrote:
> > On Fri, Apr 02, 2021 at 03:28:46PM -0700, Douglas Anderson wrote:
> > > Unpreparing and re-preparing a panel can be a really heavy
>
Being informed of a failure to attach a bridge is useful, and many
drivers prints an error message in that case. Move the message to
drm_bridge_attach() to avoid code duplication.
Suggested-by: Stephen Boyd
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
Hi Doug,
On Wed, Apr 14, 2021 at 06:19:13PM -0700, Doug Anderson wrote:
> On Sun, Apr 4, 2021 at 5:50 PM Laurent Pinchart wrote:
> > On Fri, Apr 02, 2021 at 03:28:35PM -0700, Douglas Anderson wrote:
> > > The drm_bridge_chain_pre_enable() is not the
Hi Rob,
There's a question for you below.
On Mon, Mar 22, 2021 at 12:37:47PM +0200, Laurent Pinchart wrote:
> Hi Marek,
>
> (CC'ing Ron and the DT mailing list for the DT discussion)
>
> On Mon, Mar 22, 2021 at 11:29:04AM +0100, Marek Vasut wrote:
> > On 3/22/21
rs/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +-
> drivers/gpu/drm/meson/meson_dw_hdmi.c | 1 +
> include/drm/bridge/dw_hdmi.h | 2 ++
> 3 files changed, 4 insertions(+), 1 deletion(-)
>
--
Regards,
Laurent Pinchart
__
isp_layer_id instead
>
> Cc: Hyun Kwon
> Cc: Laurent Pinchart
> Cc: David Airlie
> Cc: Daniel Vetter
> Cc: Michal Simek
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-arm-ker...@lists.infradead.org
> Signed-off-by: Lee Jones
Reviewed-by: Laurent Pinchart
> ---
in() instead
>
> Cc: Hyun Kwon
> Cc: Laurent Pinchart
> Cc: David Airlie
> Cc: Daniel Vetter
> Cc: Michal Simek
> Cc: Philipp Zabel
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-arm-ker...@lists.infradead.org
> Signed-off-by: Lee Jones
Reviewed-by: Laurent
+0100, Frieder Schrempf wrote:
> >>>> On 04.02.21 18:46, Daniel Vetter wrote:
> >>>>> On Thu, Feb 4, 2021 at 6:26 PM Laurent Pinchart
> >>>>> wrote:
> >>>>>> On Thu, Feb 04, 2021 at 06:19:22PM +0100, Daniel Vetter wrote:
>
On Tue, Apr 20, 2021 at 05:19:52PM +0200, Neil Armstrong wrote:
> On 20/04/2021 17:13, Hans Verkuil wrote:
> > On 16/04/2021 13:38, Neil Armstrong wrote:
> >> On 16/04/2021 11:58, Laurent Pinchart wrote:
> >>> Hi Neil,
> >>>
> >>> On Fri,
Hi Marek,
Thank you for the patch.
On Thu, Apr 22, 2021 at 12:31:21AM +0200, Marek Vasut wrote:
> Add DT binding document for TI SN65DSI83 and SN65DSI84 DSI to LVDS bridge.
>
> Signed-off-by: Marek Vasut
> Cc: Douglas Anderson
> Cc: Jagan Teki
> Cc: Laurent Pinchart
&
xt+0xd08): undefined reference to `rcar_cmm_init'
>
> Fixes: e08e934d6c28 ("drm: rcar-du: Add support for CMM")
> Fixes: 02f2b30032c1 ("drm: rcar-du: lvds: Add API to enable/disable clock
> output")
> Signed-off-by: Randy Dunlap
> Reported-by: kernel test r
Hi Randy,
On Fri, Apr 23, 2021 at 03:02:27PM -0700, Randy Dunlap wrote:
> On 4/23/21 2:56 PM, Randy Dunlap wrote:
> > On 4/23/21 2:46 PM, Laurent Pinchart wrote:
> >> On Fri, Apr 23, 2021 at 02:37:27PM -0700, Randy Dunlap wrote:
> >>> When DRM_RCAR_DU=y and DRM_
return 0;
> +
> + dispc->needs_resume = false;
> +
> + return dispc_runtime_resume(dev);
> +}
> +
> static const struct dev_pm_ops dispc_pm_ops = {
> .runtime_suspend = dispc_runtime_suspend,
> .runtime_resume = dispc_runtime_resume,
> - SET_LATE_SYSTE
evicetree/bindings/display/renesas,du.yaml
> @@ -89,7 +89,6 @@ required:
> - reg
>- clocks
>- interrupts
> - - resets
>- ports
>
> allOf:
--
Regards,
Laurent Pinchart
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
> index e955034da53b86e2..0dad87cdd8735542 100644
> --- a/Documentation/devicetree/bindings/display/renesas,du.yaml
> +++ b/Documentation/devicetree/bindings/display/renesas,du.yaml
> @@ -51,6 +51,9 @@ properties:
>resets: true
>reset-names: true
>
> + power-dom
truct drm_fb_helper *helper,
> struct drm_fb_helper_surface_size *sizes)
> {
> @@ -176,6 +181,9 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,
>
> drm_fb_helper_fill_info(fbi, helper, sizes);
>
> + fbi->fbdefio = &a
The driver accesses the drm_bridge.of_node field, which is present only
if CONFIG_OF is enabled. As all platforms using omapdrm are OF-based, we
can simply depend on CONFIG_OF.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion
; +
> +static const struct component_ops ingenic_dw_hdmi_ops = {
> + .bind = ingenic_dw_hdmi_bind,
> + .unbind = ingenic_dw_hdmi_unbind,
> +};
> +
> +static int ingenic_dw_hdmi_probe(struct platform_device *pdev)
> {
> - struct dw_hdmi *hdmi = platform_get_drvdata(pdev);
> + return component_add(&pdev->dev, &ingenic_dw_hdmi_ops);
> +}
>
> - dw_hdmi_remove(hdmi);
> +static int ingenic_dw_hdmi_remove(struct platform_device *pdev)
> +{
> + component_del(&pdev->dev, &ingenic_dw_hdmi_ops);
>
> return 0;
> }
--
Regards,
Laurent Pinchart
Hi Michale,
On Fri, Aug 06, 2021 at 12:37:07PM +0200, Michal Simek wrote:
> st 24. 3. 2021 v 4:15 odesílatel Laurent Pinchart napsal:
> > On Tue, Mar 23, 2021 at 10:55:01AM +0800, quanyang.w...@windriver.com wrote:
> > > From: Quanyang Wang
> > >
> > > When i
be full of challenges, as in theory anything can be implemented in the
PL, including pipelines that connect cameras and displays together. If
anynoe is interested in discussing this topic, please let me know.
Laurent Pinchart (36):
dt-bindings: display: xlnx: zynqmp-dpsub: Add OF graph ports
To prepare for the transition to the DRM bridge API, switch the encoder
operations to the atomic versions of .enable() and .disable(). This
doesn't cause any functional change by itself.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 10 ++
1 file chang
ridge.
As a first step, create a DRM bridge in the DP encoder driver. Move and
delegate the implementation of the DRM encoder and connector operations
to the bridge to prepare for the transition. The bridge will be
registered with the DRM core as a separate change.
Signed-off-by: Laurent Pin
The DPSUB doesn't live in isolation, but is connected to the
programmable logic for live inputs and outputs, and also has a
DisplayPort output. Model all those using OF graph.
Signed-off-by: Laurent Pinchart
---
.../display/xlnx/xlnx,zynqmp-dpsub.yaml | 67 +++
1
The zynqmp_dp_encoder_mode_set_transfer_unit() function takes a mode
pointer argument that it doesn't need to modify. Make it const.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm
Connector creation requires the DRM encoder, and it thus typically
performed in the bridge attach operation. Move it there, to prepare for
registration of the DRM bridge. For now the zynqmp_dp_bridge_attach() is
called manually at initialization time.
Signed-off-by: Laurent Pinchart
---
drivers
As part of the transitition of the DP encoder to a DRM bridge, turn the
DRM encoder into a dummy encoder and move it out of the DP code, to the
DPSUB core. DP encoder operations are handled by the DP bridge, which is
now attached to the encoder.
Signed-off-by: Laurent Pinchart
---
drivers/gpu
. This doesn't change the existing behaviour, given that the
zynqmp_dp_set_format() was already handling this as a special case (the
display info isn't initialized at init time and is all zeroes).
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 15 -
array
to a separate function, to prepare for splitting the DRM plane handling
to a separate file.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 45 ++
1 file changed, 34 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp
To prepare for control of the blender outside of the CRTC code, move the
setup of the blender to the zynqmp_disp_enable() function. This doesn't
introduce any functional change.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 6 +++---
1 file changed, 3 insertions(
The event field of the zynqmp_disp structure is unused. Drop it.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c
b/drivers/gpu/drm/xlnx/zynqmp_disp.c
index ff2b308d8651..4180353b484a
To prepare for usage of the clock setup function outside of the CRTC
code, replace the DRM-specific structures passed as parameters with a
pointer to the zynqmp_disp and the requested clock rate. This doesn't
introduce any functional change.
Signed-off-by: Laurent Pinchart
---
drivers/gp
Reuse the local info variable instead of going through the layer pointer
in zynqmp_disp_layer_update(). This doesn't introduce any functional
change.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --
Now that the driver uses the connector bridge helper, HPD can be
reported directly for the connector through the drm_bridge_hpd_notify()
function.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a
Decouple the zynqmp_disp, which handles the hardware configuration, from
the DRM CRTC by moving the CRTC to the zynqmp_dpsub structure. The CRTC
handling code will be moved to a separate file in a subsequent step.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 20
Replace the manual connector implementation and registration in the DP
encoder with the DRM connector bridge helper. This removes boilerplate
code and simplifies the driver.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c| 90 +
drivers/gpu
Decouple the CRTC handling from the display controller programming by
moving the corresponding code from zynqmp_disp.c to zynqmp_kms.c. This
prepares for using the DPSUB with a live video input, without creating a
DRM CRTC in the DPSUB driver.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm
to it in the DP bridge attach handler.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 18 ++
1 file changed, 18 insertions(+)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
index 27b5277f8f64..244628497e98 100644
--- a/dr
The audio clock is an external resource from the DPSUB point of view,
not a resource internal to the display controller. Move it to the
zynqmp_dpsub structure, to allow accessing it from outside the disp
code.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 54
vid_clk_from_ps, to better reflect their purpose and match the
documentation.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 36 ++---
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 17 ++
drivers/gpu/drm/xlnx/zynqmp_dpsub.h | 4
3 files changed, 28
e any functional change.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c
b/drivers/gpu/drm/xlnx/zynqmp_disp.c
index 9b36dcc4ffd9..54aa9772e9b9 100644
--- a/drivers/gp
There's no need to delay bridge initialization, move it to
zynqmp_dp_probe() and drop the zynqmp_dp_drm_init() function.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 30 --
drivers/gpu/drm/xlnx/zynqmp_dp.h | 1 -
drivers/gpu/drm
Use the ARRAY_SIZE() macro to iterate over arrays, instead of hardcoding
their size. This makes the code less error-prone should the array size
change.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff
Continue the isolation of DRM/KMS code by moving all DRM init and
cleanup from zynqmp_dpsub.c to zynqmp_kms.c.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 120 +-
drivers/gpu/drm/xlnx/zynqmp_dpsub.h | 5 --
drivers/gpu/drm/xlnx
The bus_fmt field of the zynqmp_disp_format structure is unused. Drop
it.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c
b/drivers/gpu/drm/xlnx/zynqmp_disp.c
index 4180353b484a
To prepare for live video input support, parse the device tree to find
the connected ports. Warn about unsupported configurations, and error
out when invalid.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 54 +
drivers/gpu/drm/xlnx
The better convey its purpose, rename the zynqmp_dpsub_handle_vblank()
function that belongs to the DRM layer to
zynqmp_dpsub_drm_handle_vblank().
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 2 +-
drivers/gpu/drm/xlnx/zynqmp_kms.c | 4 ++--
drivers/gpu/drm/xlnx
configuration in a subsequent change.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 26 --
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 3 +++
drivers/gpu/drm/xlnx/zynqmp_dpsub.h | 3 +++
3 files changed, 26 insertions(+), 6 deletions(-)
diff --git a
allocation for zynqmp_disp and zynqmp_dp. The
cleanup still uses the DRM managed infrastructure, but one level up, at
the top level. This will be addressed separately.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 34 +++--
drivers/gpu/drm/xlnx
ned-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 41 +++-
1 file changed, 24 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
index 72fe3b7fb78e..e40ddfd27ff0 100644
--- a/drivers/gp
Decouple the zynqmp_disp, which handles the hardware configuration, from
the DRM planes by moving the planes to the zynqmp_dpsub structure. The
planes handling code will be moved to a separate file in a subsequent
step.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/Makefile
the video and gfx inputs,
and blending in the DPSUB video pipeline, is currently unsupported.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dp.c| 55 +
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 32 +
2 files changed, 80 insertions
Add a mode parameter to the zynqmp_disp_layer_enable() to set the layer
mode, to prepare for live mode support.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 30 +-
drivers/gpu/drm/xlnx/zynqmp_disp.h | 13 -
drivers/gpu/drm/xlnx
-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 173 ++--
drivers/gpu/drm/xlnx/zynqmp_disp.h | 19 ++-
drivers/gpu/drm/xlnx/zynqmp_dpsub.h | 2 +
drivers/gpu/drm/xlnx/zynqmp_kms.c | 144 ++-
4 files changed, 166 insertions(+), 172
ter a cleanup action to release the zynqmp_dpsub when the
drm_device is released.
The will allow usage of the DisplayPort encoder as a standalone bridge,
without registering a DRM device in this driver.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_dpsub.c
Add a device tree node to describe the DisplayPort connector, and
connect it to the DPSUB output.
Signed-off-by: Laurent Pinchart
---
.../boot/dts/xilinx/zynqmp-zcu106-revA.dts| 20 +++
1 file changed, 20 insertions(+)
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu106
The DPSUB DT bindings now specify ports to model the connections with
the programmable logic and the DisplayPort output. Add them to the
device tree.
Signed-off-by: Laurent Pinchart
---
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 24
1 file changed, 24 insertions(+)
diff
08-09 02:28:05 +0300)
- Miscellaneous fixes in ZynqMP DPSUB driver
Dylan Yip (1):
drm: xlnx: zynqmp_dpsub: Update dependencies for ZynqMP DP
Laurent Pinchart (4):
drm: xlnx: zynqmp_dpsub: Pass disp structure to all internal funct
Hi Stephen,
On Tue, Aug 10, 2021 at 10:26:33PM -0700, Stephen Boyd wrote:
> Quoting Laurent Pinchart (2021-06-23 17:03:02)
> > To simplify interfacing with the panel, wrap it in a panel-bridge and
> > let the DRM bridge helpers handle chaining of operations.
> >
> > Thi
On Wed, Aug 11, 2021 at 01:51:28PM -0700, Rob Clark wrote:
> On Wed, Aug 11, 2021 at 1:39 PM Stephen Boyd wrote:
> > Quoting Rob Clark (2021-08-11 09:20:30)
> > > On Wed, Aug 11, 2021 at 5:15 AM Laurent Pinchart wrote:
> > > > On Tue, Aug 10, 2021 at 10:26:
And if this driver did pass the NO_CONNECTOR flag (and we
> supported that mode) this would change nothing.
>
> Fixes: 4e5763f03e10 ("drm/bridge: ti-sn65dsi86: Wrap panel with panel-bridge")
> Signed-off-by: Rob Clark
Makes complete sense.
Reviewed-by: Laurent Pin
);
Should all this be moved one layer up, to the code that attaches to the
mem_dsi->bridge ? I suppose we can start here, but as part of a global
move to bridges and DRM_BRIDGE_ATTACH_NO_CONNECTOR, I think the
top-level would make more sense in the long term.
If you want to start here,
Reviewe
bridge_funcs ti_sn_bridge_funcs = {
> .attach = ti_sn_bridge_attach,
> .detach = ti_sn_bridge_detach,
> + .mode_valid = ti_sn_bridge_mode_valid,
> .pre_enable = ti_sn_bridge_pre_enable,
> .enable = ti_sn_bridge_enable,
> .disable = ti_sn_bridge_disable,
--
Regards,
Laurent Pinchart
Hi Rob,
On Thu, Aug 12, 2021 at 12:09:12PM -0700, Rob Clark wrote:
> On Thu, Aug 12, 2021 at 11:44 AM Laurent Pinchart wrote:
> > On Wed, Aug 11, 2021 at 04:52:49PM -0700, Rob Clark wrote:
> > > From: Rob Clark
> > >
> > > For the brave new world of bridges n
gt;dev, &conn_iter);
> + drm_for_each_connector_iter(connector, &conn_iter) {
> + if (drm_connector_has_possible_encoder(connector,
> bridge->encoder)) {
> + bpc = connector->display_info.bpc;
> + break;
> + }
> + }
> + drm_connector_list_iter_end(&conn_iter);
> +
> + WARN_ON(bpc == 0);
> +
> + if (bpc <= 6)
> return 18;
> else
> return 24;
--
Regards,
Laurent Pinchart
gt;>
> >>return 0;
> >> }
> >> @@ -1737,6 +1746,15 @@ static int exynos_dsi_probe(struct platform_device
> >> *pdev)
> >>if (ret)
> >>return ret;
> >>
> >> + if (!dsi->driver_data->exynos_specific) {
> >> + ret = mipi_dsi_host_register(&dsi->dsi_host);
> >> + if (ret) {
> >> + dev_err(dev, "failed to register mipi dsi host: %d\n",
> >> + ret);
> >> + return ret;
> >> + }
> >> + }
> >> +
> >>platform_set_drvdata(pdev, dsi);
> >>
> >>pm_runtime_enable(dev);
> >> @@ -1747,9 +1765,11 @@ static int exynos_dsi_probe(struct platform_device
> >> *pdev)
> >>
> >>drm_bridge_add(&dsi->bridge);
> >>
> >> - ret = component_add(dev, &exynos_dsi_component_ops);
> >> - if (ret)
> >> - goto err_disable_runtime;
> >> + if (dsi->driver_data->exynos_specific) {
> >> + ret = component_add(dev, &exynos_dsi_component_ops);
> >> + if (ret)
> >> + goto err_disable_runtime;
> >> + }
> >>
> >>return 0;
> >>
> >> @@ -1767,7 +1787,8 @@ static int exynos_dsi_remove(struct platform_device
> >> *pdev)
> >>
> >>pm_runtime_disable(&pdev->dev);
> >>
> >> - component_del(&pdev->dev, &exynos_dsi_component_ops);
> >> + if (dsi->driver_data->exynos_specific)
> >> + component_del(&pdev->dev, &exynos_dsi_component_ops);
> >>
> >>return 0;
> >> }
--
Regards,
Laurent Pinchart
1 - 100 of 9237 matches
Mail list logo