[PATCH v2 2/2] drm/panel: Add Sony Tulip Truly NT35521 driver

2021-08-08 Thread Shawn Guo
It adds a DRM panel driver for Sony Tulip Truly NT35521 5.24" 1280x720 DSI panel, which can be found on Sony Xperia M4 Aqua phone. The panel backlight is managed through DSI link. The driver is built using linux-mdss-dsi-panel-driver-generator[1], and additionally modeling the 5V control GPIOs

[PATCH v2 1/2] dt-bindings: display: Add Sony Tulip Truly NT35521 panel support

2021-08-08 Thread Shawn Guo
The Sony Tulip Truly NT35521 is a 5.24" 1280x720 DSI panel, which can be found on Sony Xperia M4 Aqua phone. The backlight is managed through DSI link. Signed-off-by: Shawn Guo --- .../panel/sony,tulip-truly-nt35521.yaml | 72 +++ 1 file changed, 72 insertions(+) create

[PATCH v2 0/2] Add Sony Tulip Truly NT35521 panel support

2021-08-08 Thread Shawn Guo
It adds driver for Sony Tulip Truly NT35521 5.24" 1280x720 DSI panel, which can be found on Sony Xperia M4 Aqua phone. Changes for v2: - Add `port` node into bindings. - Re-create the driver using linux-mdss-dsi-panel-driver-generator[1]. - Rename the driver to include Sony Tulip. - Model 5V

Re: [PATCH 2/2] drm/panel: Add Truly NT35521 panel driver

2021-08-08 Thread Shawn Guo
On Sun, Aug 08, 2021 at 05:29:30PM +0200, Stephan Gerhold wrote: > > 2) The driver works good, if the kernel is launched via "fastboot boot". > >But if the kernel is flashed to eMMC and launched by bootloader with > >splash screen, kernel will fail to bring up the panel. After kernel > >

[PATCH] drm/amd/display: use do-while-0 for DC_TRACE_LEVEL_MESSAGE()

2021-08-08 Thread Randy Dunlap
Building with W=1 complains about an empty 'else' statement, so use the usual do-nothing-while-0 loop to quieten this warning. ../drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_psr.c:113:53: warning: suggest braces around empty body in an 'else' statement [-Wempty-body] 113 |

[GIT PULL FOR v5.15] Xilinx ZynqMP DPSUB miscellaneous fixes

2021-08-08 Thread Laurent Pinchart
Hi Dave and Daniel, The following changes since commit 49f7844b08844ac7029f997702099c552566262b: Merge tag 'drm-misc-next-2021-08-05' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2021-08-06 06:59:30 +1000) are available in the Git repository at:

[PATCH 35/36] arm64: dts: zynqmp: Add ports for the DisplayPort subsystem

2021-08-08 Thread Laurent Pinchart
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

[PATCH 36/36] arm64: dts: zynqmp: zcu106a: Describe DisplayPort connector

2021-08-08 Thread Laurent Pinchart
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

[PATCH 29/36] drm: xlnx: zynqmp_dpsub: Decouple DRM device from zynqmp_dpsub

2021-08-08 Thread Laurent Pinchart
To complete the decoupling of the DRM device from the zynqmp_dpsub, group all DRM-related structures in a zynqmp_dpsub_drm structure and allocate it separately from the zynqmp_dpsub. The DRM managed allocation of the drm_device now doesn't cover the zynqmp_dpsub anymore, so we need to register a

[PATCH 24/36] drm: xlnx: zynqmp_dpsub: Move planes handling to zynqmp_kms.c

2021-08-08 Thread Laurent Pinchart
Decouple the planes 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 DRM planes in the DPSUB driver. While at it, fix a typo in a comment.

[PATCH 32/36] drm: xlnx: zynqmp_dpsub: Allow configuration of layer mode

2021-08-08 Thread Laurent Pinchart
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 -

[PATCH 34/36] drm: xlnx: zynqmp_dpsub: Add support for live video input

2021-08-08 Thread Laurent Pinchart
Add partial live video support, with a single video input that bypasses blending. Skip registration of the DRM device in that case, but register the DRM bridge instead. The DRM device will be created by the driver for the display controller in the PL. Full live video mode with concurrent usage of

[PATCH 25/36] drm: xlnx: zynqmp_dpsub: Register AUX bus at bridge attach time

2021-08-08 Thread Laurent Pinchart
To prepare for operating as a standalone DP bridge with the DRM device implemented in the PL, move registration of the AUX bus to bridge attach time, as that's the earliest point when a DRM device is available. The DRM device pointer stored in zynqmp_dp isn't used anymore, drop it.

[PATCH 22/36] drm: xlnx: zynqmp_dpsub: Move planes to zynqmp_dpsub structure

2021-08-08 Thread Laurent Pinchart
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 |

[PATCH 27/36] drm: xlnx: zynqmp_dpsub: Manage DP and DISP allocations manually

2021-08-08 Thread Laurent Pinchart
The zynqmp_disp and zynqmp_dp structures are allocated with drmm_kzalloc(). While this simplifies management of memory, it requires a DRM device, which will not be available at probe time when the DP bridge will be used standalone, with a DRM device in the PL. To prepare for this, switch to manual

[PATCH 33/36] drm: xlnx: zynqmp_dpsub: Support operation without DMA engine

2021-08-08 Thread Laurent Pinchart
To prepare for usage of the DPSUB as a DisplayPort bridge without creating a DRM device, make initialization and usage of the DMA engine optional. The flag that controls this feature is currently hardcoded to operating with the DMA engine, this will be made dynamic based on the device tree

[PATCH 30/36] drm: xlnx: zynqmp_dpsub: Rename zynqmp_dpsub_handle_vblank with DRM prefix

2021-08-08 Thread Laurent Pinchart
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 ++--

[PATCH 31/36] drm: xlnx: zynqmp_dpsub: Parse DT to find connected ports

2021-08-08 Thread Laurent Pinchart
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 +

[PATCH 12/36] drm: xlnx: zynqmp_dpsub: Drop unused zynqmp_disp_format.bus_fmt field

2021-08-08 Thread Laurent Pinchart
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

[PATCH 28/36] drm: xlnx: zynqmp_dpsub: Move all DRM init and cleanup to zynqmp_kms.c

2021-08-08 Thread Laurent Pinchart
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 --

[PATCH 17/36] drm: xlnx: zynqmp_dpsub: Remplace hardcoded values with ARRAY_SIZE()

2021-08-08 Thread Laurent Pinchart
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

[PATCH 26/36] drm: xlnx: zynqmp_dpsub: Move DP bridge init to zynqmp_dp_probe()

2021-08-08 Thread Laurent Pinchart
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 -

[PATCH 16/36] drm: xlnx: zynqmp_dpsub: Pass format info to zynqmp_disp_layer_set_format()

2021-08-08 Thread Laurent Pinchart
The zynqmp_disp_layer_set_format() function only needs format information, not a full plane state. Get the necessary info from the plane state in the caller and pass it to zynqmp_disp_layer_set_format(). This prepares for calling the function from non-DRM code. This doesn't introduce any

[PATCH 19/36] drm: xlnx: zynqmp_dpsub: Move pclk from zynqmp_disp to zynqmp_dpsub

2021-08-08 Thread Laurent Pinchart
The video 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. While at it, rename the fields from pclk and pclk_from_ps to vid_clk and

[PATCH 20/36] drm: xlnx: zynqmp_dpsub: Move audio clk from zynqmp_disp to zynqmp_dpsub

2021-08-08 Thread Laurent Pinchart
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

[PATCH 08/36] drm: xlnx: zynqmp_dpsub: Attach to the next bridge

2021-08-08 Thread Laurent Pinchart
The next component in the display chain, after the DP encoder, is most likely a DP connector. The display connector driver registers a bridge for it. That bridge doesn't need to be controlled, but is needed in order to use the DRM connector bridge helper. Retrieve it at init time, and attach to it

[PATCH 23/36] drm: xlnx: zynqmp_dpsub: Move CRTC handling to zynqmp_kms.c

2021-08-08 Thread Laurent Pinchart
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 ---

[PATCH 09/36] drm: xlnx: zynqmp_dpsub: Use DRM connector bridge helper

2021-08-08 Thread Laurent Pinchart
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 +

[PATCH 21/36] drm: xlnx: zynqmp_dpsub: Move CRTC to zynqmp_dpsub structure

2021-08-08 Thread Laurent Pinchart
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

[PATCH 10/36] drm: xlnx: zynqmp_dpsub: Report HPD through the bridge

2021-08-08 Thread Laurent Pinchart
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

[PATCH 15/36] drm: xlnx: zynqmp_dpsub: Use local variable in zynqmp_disp_layer_update()

2021-08-08 Thread Laurent Pinchart
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 --git

[PATCH 13/36] drm: xlnx: zynqmp_dpsub: Don't pass CRTC to zynqmp_disp_setup_clock()

2021-08-08 Thread Laurent Pinchart
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 ---

[PATCH 11/36] drm: xlnx: zynqmp_dpsub: Drop unused zynqmp_disp.event field

2021-08-08 Thread Laurent Pinchart
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

[PATCH 18/36] drm: xlnx: zynqmp_dpsub: Don't use drmm_kcalloc() for temporary data

2021-08-08 Thread Laurent Pinchart
The array of formats passed to drm_universal_plane_init() doesn't need to outlive the function call, as it's copied internally. Use kcalloc() instead of drmm_kcalloc() to allocate it, and free it right after usage. While at it, move the allocation and initialization of the formats array to a

[PATCH 14/36] drm: xlnx: zynqmp_dpsub: Configure blender in zynqmp_disp_enable()

2021-08-08 Thread Laurent Pinchart
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(+), 3

[PATCH 05/36] drm: xlnx: zynqmp_dpsub: Don't access connector in zynqmp_dp_set_format()

2021-08-08 Thread Laurent Pinchart
To prepare for the removal of the connector from the DP encoder, pass the display info pointer to the zynqmp_dp_set_format() function instead of accessing the connector internally. The display info is NULL when the function is called at initialization time, as we have no display info at that

[PATCH 07/36] drm: xlnx: zynqmp_dpsub: Move encoder to DPSUB core

2021-08-08 Thread Laurent Pinchart
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 ---

[PATCH 06/36] drm: xlnx: zynqmp_dpsub: Move connector registration to bridge attach

2021-08-08 Thread Laurent Pinchart
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 ---

[PATCH 03/36] drm: xlnx: zynqmp_dpsub: Constify mode argument to function

2021-08-08 Thread Laurent Pinchart
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

[PATCH 01/36] dt-bindings: display: xlnx: zynqmp-dpsub: Add OF graph ports

2021-08-08 Thread Laurent Pinchart
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 file

[PATCH 04/36] drm: xlnx: zynqmp_dpsub: Create DRM bridge to model DP encoder

2021-08-08 Thread Laurent Pinchart
The DP encoder is currently modelled as a DRM encoder and DRM connector. This doesn't support system configurations where the DP encoder is driven by the FPGA programmable logic, using the live video input to the DP subsystem. To enable such use cases, we need to model the encoder as a DRM bridge.

[PATCH 02/36] drm: xlnx: zynqmp_dpsub: Switch to atomic encoder enable/disable

2021-08-08 Thread Laurent Pinchart
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 changed, 6

[PATCH 00/36] drm: xlnx: zynqmp_dpsub: Initial live video input support

2021-08-08 Thread Laurent Pinchart
Hello, The DPSUB is the DisplayPort subsystem, a set of hard IP cores found in the ZynqMP family of SoCs. It combines a DisplayPort encoder, a video blender with two input channels, and a DMA engine. The zynqmp_dpsub driver exposes this as a DRM device with one CRTC and two planes. In addition

[PATCH v2 4/4] drm/mediatek: Add cmdq_handle in mtk_crtc

2021-08-08 Thread Chun-Kuang Hu
One mtk_crtc need just one cmdq_handle, so add one cmdq_handle in mtk_crtc to prevent frequently allocation and free of cmdq_handle. Signed-off-by: Chun-Kuang Hu --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 28 - 1 file changed, 18 insertions(+), 10 deletions(-) diff

[PATCH v2 3/4] drm/mediatek: Detect CMDQ execution timeout

2021-08-08 Thread Chun-Kuang Hu
CMDQ is used to update display register in vblank period, so it should be execute in next vblank. If it fail to execute in next 2 vblank, tiemout happen. Signed-off-by: Chun-Kuang Hu --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 14 -- 1 file changed, 12 insertions(+), 2

[PATCH v2 2/4] drm/mediatek: Remove struct cmdq_client

2021-08-08 Thread Chun-Kuang Hu
In mailbox rx_callback, it pass struct mbox_client to callback function, but it could not map back to mtk_drm_crtc instance because struct cmdq_client use a pointer to struct mbox_client: struct cmdq_client { struct mbox_client client; struct mbox_chan *chan; }; struct

[PATCH v2 1/4] drm/mediatek: Use mailbox rx_callback instead of cmdq_task_cb

2021-08-08 Thread Chun-Kuang Hu
rx_callback is a standard mailbox callback mechanism and could cover the function of proprietary cmdq_task_cb, so use the standard one instead of the proprietary one. Signed-off-by: Chun-Kuang Hu --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 16 +--- 1 file changed, 13

[PATCH v2 0/4] CMDQ refinement of Mediatek DRM driver

2021-08-08 Thread Chun-Kuang Hu
These refinements include using standard mailbox callback interface, timeout detection, and a fixed cmdq_handle. Changes in v2: 1. Define mtk_drm_cmdq_pkt_create() and mtk_drm_cmdq_pkt_destroy() when CONFIG_MTK_CMDQ is reachable. Chun-Kuang Hu (4): drm/mediatek: Use mailbox rx_callback

Re: [PATCH 2/8] drm/ingenic: Simplify code by using hwdescs array

2021-08-08 Thread Paul Cercueil
Hi Thomas, Le dim., août 8 2021 at 20:42:53 +0200, Thomas Zimmermann a écrit : Hi Am 08.08.21 um 15:45 schrieb Paul Cercueil: Instead of having one 'hwdesc' variable for the plane #0 and one for the plane #1, use a 'hwdesc[2]' array, where the DMA hardware descriptors are indexed by the

Re: [PATCH 3/8] drm/ingenic: Use standard drm_atomic_helper_commit_tail

2021-08-08 Thread Christophe JAILLET
Le 08/08/2021 à 22:09, Paul Cercueil a écrit : Hi Christophe, Le dim., août 8 2021 at 21:50:04 +0200, Christophe JAILLET a écrit : Le 08/08/2021 à 15:45, Paul Cercueil a écrit : By making the CRTC's .vblank_enable() function return an error when it is known that the hardware won't deliver a

Re: [PATCH 3/8] drm/ingenic: Use standard drm_atomic_helper_commit_tail

2021-08-08 Thread Paul Cercueil
Hi Christophe, Le dim., août 8 2021 at 21:50:04 +0200, Christophe JAILLET a écrit : Le 08/08/2021 à 15:45, Paul Cercueil a écrit : By making the CRTC's .vblank_enable() function return an error when it is known that the hardware won't deliver a VBLANK, we can drop the

[PATCH v2] drm/panel/tianma-tl057fvxp01: add panel for Motorola Moto G6

2021-08-08 Thread Julian Braha
This is a 5.7" 2160x1080 panel found on the Motorola Moto G6. There may be other smartphones using it, as well. Signed-off-by: Julian Braha --- drivers/gpu/drm/panel/Kconfig | 7 + drivers/gpu/drm/panel/Makefile| 1 +

Re: [PATCH 3/8] drm/ingenic: Use standard drm_atomic_helper_commit_tail

2021-08-08 Thread Christophe JAILLET
Le 08/08/2021 à 15:45, Paul Cercueil a écrit : By making the CRTC's .vblank_enable() function return an error when it is known that the hardware won't deliver a VBLANK, we can drop the ingenic_drm_atomic_helper_commit_tail() function and use the standard drm_atomic_helper_commit_tail() function

[Bug 214001] [bisected][regression] After commit "drm/ttm: Initialize debugfs from ttm_global_init()" kernels without debugfs explicitly set to 'allow all' fail to boot

2021-08-08 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=214001 --- Comment #1 from Linux_Chemist (untaintablean...@hotmail.co.uk) --- As an addendum, I suppose a slight source of confusion is the info for CONFIG_DEBUG_FS which reads: "debugfs is a virtual file system that kernel developers use to put

Re: [PATCH 8/8] drm/ingenic: Attach bridge chain to encoders

2021-08-08 Thread H. Nikolaus Schaller
> Am 08.08.2021 um 21:06 schrieb H. Nikolaus Schaller : > > > >> Am 08.08.2021 um 21:04 schrieb Paul Cercueil : >> >> Hi Nikolaus, >> >> Le dim., août 8 2021 at 20:57:09 +0200, H. Nikolaus Schaller >> a écrit : >>> Hi Paul, >>> all other patches apply cleanly but this one fails on top of

[Bug 214001] [bisected][regression] After commit "drm/ttm: Initialize debugfs from ttm_global_init()" kernels without debugfs explicitly set to 'allow all' fail to boot

2021-08-08 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=214001 Linux_Chemist (untaintablean...@hotmail.co.uk) changed: What|Removed |Added Regression|No |Yes --

[Bug 214001] New: [bisected][regression] After commit "drm/ttm: Initialize debugfs from ttm_global_init()" kernels without debugfs explicitly set to 'allow all' fail to boot

2021-08-08 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=214001 Bug ID: 214001 Summary: [bisected][regression] After commit "drm/ttm: Initialize debugfs from ttm_global_init()" kernels without debugfs explicitly set to 'allow all' fail to

Re: [PATCH 8/8] drm/ingenic: Attach bridge chain to encoders

2021-08-08 Thread H. Nikolaus Schaller
> Am 08.08.2021 um 21:04 schrieb Paul Cercueil : > > Hi Nikolaus, > > Le dim., août 8 2021 at 20:57:09 +0200, H. Nikolaus Schaller > a écrit : >> Hi Paul, >> all other patches apply cleanly but this one fails on top of v5.14-rc4. >> What base are you using? >> BR and thanks, >> Nikolaus >

Re: [PATCH 8/8] drm/ingenic: Attach bridge chain to encoders

2021-08-08 Thread Paul Cercueil
Hi Nikolaus, Le dim., août 8 2021 at 20:57:09 +0200, H. Nikolaus Schaller a écrit : Hi Paul, all other patches apply cleanly but this one fails on top of v5.14-rc4. What base are you using? BR and thanks, Nikolaus The base is drm-misc (https://cgit.freedesktop.org/drm/drm-misc), branch

Re: [PATCH 8/8] drm/ingenic: Attach bridge chain to encoders

2021-08-08 Thread H. Nikolaus Schaller
Hi Paul, all other patches apply cleanly but this one fails on top of v5.14-rc4. What base are you using? BR and thanks, Nikolaus > Am 08.08.2021 um 15:45 schrieb Paul Cercueil : > > Attach a top-level bridge to each encoder, which will be used for > negociating the bus format and flags. > >

Re: [PATCH] drm/panel/tianma-tl057fvxp01: add panel for Motorola Moto G6

2021-08-08 Thread kernel test robot
in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Julian-Braha/drm-panel-tianma-tl057fvxp01-add-panel-for-Motorola-Moto-G6/20210808-220609 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 85a90500f9a1717c4e142ce92e6c1cb1a339ec78

Re: [PATCH 2/8] drm/ingenic: Simplify code by using hwdescs array

2021-08-08 Thread Thomas Zimmermann
Hi Am 08.08.21 um 15:45 schrieb Paul Cercueil: Instead of having one 'hwdesc' variable for the plane #0 and one for the plane #1, use a 'hwdesc[2]' array, where the DMA hardware descriptors are indexed by the plane's number. Signed-off-by: Paul Cercueil ---

Re: [PATCH 1/8] drm/ingenic: Remove dead code

2021-08-08 Thread Paul Cercueil
Hi Joe, Le dim., août 8 2021 at 11:27:34 -0700, Joe Perches a écrit : On Sun, 2021-08-08 at 19:58 +0200, Thomas Zimmermann wrote: Am 08.08.21 um 15:45 schrieb Paul Cercueil: > The priv->ipu_plane would get a different value further down the code, > without the first assigned value

Re: [PATCH 1/8] drm/ingenic: Remove dead code

2021-08-08 Thread Joe Perches
On Sun, 2021-08-08 at 19:58 +0200, Thomas Zimmermann wrote: > > Am 08.08.21 um 15:45 schrieb Paul Cercueil: > > The priv->ipu_plane would get a different value further down the code, > > without the first assigned value being read first; so the first > > assignation can be dropped. > > > >

Re: [PATCH 1/8] drm/ingenic: Remove dead code

2021-08-08 Thread Thomas Zimmermann
Am 08.08.21 um 15:45 schrieb Paul Cercueil: The priv->ipu_plane would get a different value further down the code, without the first assigned value being read first; so the first assignation can be dropped. Signed-off-by: Paul Cercueil Acked-by: Thomas Zimmermann ---

[PATCH 3/3] drm/i915/selftests: Add initial GuC selftest for scrubbing lost G2H

2021-08-08 Thread Matthew Brost
While debugging an issue with full GT resets I went down a rabbit hole thinking the scrubbing of lost G2H wasn't working correctly. This proved to be incorrect as this was working just fine but this chase inspired me to write a selftest to prove that this works. This simple selftest injects errors

[PATCH 2/3] drm/i915/selftests: Fix memory corruption in live_lrc_isolation

2021-08-08 Thread Matthew Brost
GuC submission has exposed an existing memory corruption in live_lrc_isolation. We believe that some writes to the watchdog offsets in the LRC (0x178 & 0x17c) can result in trashing of portions of the address space. With GuC submission there are additional objects which can move the context

[PATCH 0/3] Clean up some CI failures for GuC submission

2021-08-08 Thread Matthew Brost
Address CI failure related to reset [1]. In addition to the public CI failure we also fix several issues uncovered recenting in our internal CI related to resets. Patch #1 address all of these issues. Workaround an existing memory corruption, in gt_lrc selftest, exposed by enabling GuC submission

[PATCH 1/3] drm/i915/guc: Fix several issues related to resets / request cancelation

2021-08-08 Thread Matthew Brost
Resets are notoriously hard to get fully working and notoriously racey, especially with selftests / IGTs that do all sorts of wild things that would be near impossible to hit during normal use cases. Even though likely impossible to hit, anything selftests / IGTs uncover needs to be fixed. This

Re: [PATCH] drm/msm: Disable frequency clamping on a630

2021-08-08 Thread Rob Clark
On Sun, Aug 8, 2021 at 7:33 AM Caleb Connolly wrote: > > > > On 07/08/2021 21:04, Rob Clark wrote: > > On Sat, Aug 7, 2021 at 12:21 PM Caleb Connolly > > wrote: > >> > >> Hi Rob, Akhil, > >> > >> On 29/07/2021 21:53, Rob Clark wrote: > >>> On Thu, Jul 29, 2021 at 1:28 PM Caleb Connolly > >>>

Re: [PATCH 2/2] drm/panel: Add Truly NT35521 panel driver

2021-08-08 Thread Stephan Gerhold
On Sun, Aug 08, 2021 at 09:44:57PM +0800, Shawn Guo wrote: > On Wed, Aug 04, 2021 at 02:09:19PM +0200, Stephan Gerhold wrote: > > On Wed, Aug 04, 2021 at 04:13:52PM +0800, Shawn Guo wrote: > > > + ... > > > + nt_dcs_write(0xb1, 0x6c, 0x21); > > > + nt_dcs_write(0xf0, 0x55, 0xaa, 0x52, 0x00, 0x00);

Re: [PATCH] drm/msm: Disable frequency clamping on a630

2021-08-08 Thread Caleb Connolly
On 07/08/2021 21:04, Rob Clark wrote: On Sat, Aug 7, 2021 at 12:21 PM Caleb Connolly wrote: Hi Rob, Akhil, On 29/07/2021 21:53, Rob Clark wrote: On Thu, Jul 29, 2021 at 1:28 PM Caleb Connolly wrote: On 29/07/2021 21:24, Rob Clark wrote: On Thu, Jul 29, 2021 at 1:06 PM Caleb

Re: [PATCH v4 01/14] vfio/samples: Remove module get/put

2021-08-08 Thread Max Gurtovoy
On 8/6/2021 4:18 AM, Jason Gunthorpe wrote: The patch to move the get/put to core and the patch to convert the samples to use vfio_device crossed in a way that this was missed. When both patches are together the samples do not need their own get/put. Fixes: 437e41368c01 ("vfio/mdpy: Convert

[PATCH] drm/panel/tianma-tl057fvxp01: add panel for Motorola Moto G6

2021-08-08 Thread Julian Braha
This is a 5.7" 2160x1080 panel found on the Motorola Moto G6. There may be other smartphones using it, as well. Signed-off-by: Julian Braha --- drivers/gpu/drm/panel/Kconfig | 7 ++ drivers/gpu/drm/panel/Makefile| 1 +

Re: [PATCH 2/2] drm/panel: Add Truly NT35521 panel driver

2021-08-08 Thread Shawn Guo
Hi Sam, On Wed, Aug 04, 2021 at 06:24:12PM +0200, Sam Ravnborg wrote: > Hi Shawn, > > see a few comments in the following. Thanks for the review comments! All of them will be addressed in v2. Shawn > On Wed, Aug 04, 2021 at 04:13:52PM +0800, Shawn Guo wrote: > > It adds a drm driver for

[PATCH 8/8] drm/ingenic: Attach bridge chain to encoders

2021-08-08 Thread Paul Cercueil
Attach a top-level bridge to each encoder, which will be used for negociating the bus format and flags. All the bridges are now attached with DRM_BRIDGE_ATTACH_NO_CONNECTOR. Signed-off-by: Paul Cercueil --- drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 92 +-- 1 file changed,

[PATCH 7/8] drm/ingenic: Upload palette before frame

2021-08-08 Thread Paul Cercueil
When using C8 color mode, make sure that the palette is always uploaded before a frame; otherwise the very first frame will have wrong colors. Do that by changing the link order of the DMA descriptors. Signed-off-by: Paul Cercueil --- drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 69

[PATCH 6/8] drm/ingenic: Set DMA descriptor chain register when starting CRTC

2021-08-08 Thread Paul Cercueil
Setting the DMA descriptor chain register in the probe function has been fine until now, because we only ever had one descriptor per foreground. As the driver will soon have real descriptor chains, and the DMA descriptor chain register updates itself to point to the current descriptor being

[PATCH 5/8] drm/ingenic: Move IPU scale settings to private state

2021-08-08 Thread Paul Cercueil
The IPU scaling information is computed in the plane's ".atomic_check" callback, and used in the ".atomic_update" callback. As such, it is state-specific, and should be moved to a private state structure. Signed-off-by: Paul Cercueil --- drivers/gpu/drm/ingenic/ingenic-ipu.c | 73

[PATCH 4/8] drm/ingenic: Add support for private objects

2021-08-08 Thread Paul Cercueil
Until now, the ingenic-drm as well as the ingenic-ipu drivers used to put state-specific information in their respective private structure. Add boilerplate code to support private objects in the two drivers, so that state-specific information can be put in the state-specific private structure.

[PATCH 3/8] drm/ingenic: Use standard drm_atomic_helper_commit_tail

2021-08-08 Thread Paul Cercueil
By making the CRTC's .vblank_enable() function return an error when it is known that the hardware won't deliver a VBLANK, we can drop the ingenic_drm_atomic_helper_commit_tail() function and use the standard drm_atomic_helper_commit_tail() function instead. Signed-off-by: Paul Cercueil ---

[PATCH 2/8] drm/ingenic: Simplify code by using hwdescs array

2021-08-08 Thread Paul Cercueil
Instead of having one 'hwdesc' variable for the plane #0 and one for the plane #1, use a 'hwdesc[2]' array, where the DMA hardware descriptors are indexed by the plane's number. Signed-off-by: Paul Cercueil --- drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 38 --- 1 file

[PATCH 1/8] drm/ingenic: Remove dead code

2021-08-08 Thread Paul Cercueil
The priv->ipu_plane would get a different value further down the code, without the first assigned value being read first; so the first assignation can be dropped. Signed-off-by: Paul Cercueil --- drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 3 --- 1 file changed, 3 deletions(-) diff --git

[PATCH 0/8] gpu/drm: ingenic-drm: Various improvements

2021-08-08 Thread Paul Cercueil
Hi, This patchset rework the ingenic-drm driver, improving the code in various places. The most important change is the last patch, which updates the ingenic-drm driver to use a top-level bridge per output, making use of the bus format and flag negociation implemented in the bridge code. All the

Re: [PATCH 2/2] drm/panel: Add Truly NT35521 panel driver

2021-08-08 Thread Shawn Guo
Hi Stephan, Thanks for looking at the patch! On Wed, Aug 04, 2021 at 02:09:19PM +0200, Stephan Gerhold wrote: > Hi Shawn, > > Thanks for the patch! > > On Wed, Aug 04, 2021 at 04:13:52PM +0800, Shawn Guo wrote: > > It adds a drm driver for Truly NT35521 5.24" 1280x720 DSI panel, which > > can

[PATCH v6 1/1] drm/mediatek: force hsa hbp hfp packets multiple of lanenum to avoid screen shift

2021-08-08 Thread Jitao Shi
The bridge chip ANX7625 requires the packets on lanes aligned at the end, or ANX7625 will shift the screen. Signed-off-by: Jitao Shi --- drivers/gpu/drm/mediatek/mtk_dsi.c | 13 + 1 file changed, 13 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c

[PATCH v6 0/1] force hsa hbp hfp packets multiple of lanenum to avoid screen shift

2021-08-08 Thread Jitao Shi
Changes since v5: - Remvoe the anx7625 devicetree change. Use the compatible string intead. Changes since v4: - Move "dt-bindings: drm/bridge: anx7625: add force_dsi_end_without_null" before "drm/mediatek: force hsa hbp hfp packets multiple of lanenum to avoid". - Retitle "dt-bindings:

[PATCH v2 3/3] drm/mediatek: fine tune the dsi panel's power sequence

2021-08-08 Thread Jitao Shi
Add the drm_panel_prepare_power and drm_panel_unprepare_power control. Turn on panel power(drm_panel_prepare_power) and control before dsi enable. And then dsi enable, send dcs cmd in drm_panel_prepare, last turn on backlight. Most dsi panels, have five steps when poweron. 1. turn on dsi signal

[PATCH v2 2/3] drm/panel: boe-tv101wum-n16 seperate the panel power control

2021-08-08 Thread Jitao Shi
Seperate the panel power control from prepare/unprepare. Signed-off-by: Jitao Shi --- .../gpu/drm/panel/panel-boe-tv101wum-nl6.c| 72 +-- 1 file changed, 50 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c

[PATCH v2 1/3] drm/panel: seperate panel power control from panel prepare/unprepare

2021-08-08 Thread Jitao Shi
Some dsi panels require the dsi lanes keeping low before panel power on. So seperate the panel power control and the communication with panel. And put the power control in drm_panel_prepare_power and drm_panel_unprepare_power. Put the communication with panel in drm_panel_prepare and

[PATCH v2 0/3] seperate panel power control from panel prepare/unprepare

2021-08-08 Thread Jitao Shi
Changes since v1: - Fix null point when dsi next bridge isn't a panel. - "dsi mmsys reset" is implement by https://patchwork.kernel.org/project/linux-mediatek/list/?series=515355 Jitao Shi (3): drm/panel: seperate panel power control from panel prepare/unprepare drm/panel:

Re: [PATCH 1/2] dt-bindings: display: panel: Add Truly NT35521 panel support

2021-08-08 Thread Shawn Guo
On Wed, Aug 04, 2021 at 06:03:54PM +0200, Sam Ravnborg wrote: > Hi Shawn, > > On Wed, Aug 04, 2021 at 04:13:51PM +0800, Shawn Guo wrote: > > The Truly NT35521 is a 5.24" 1280x720 DSI panel, and the backlight is > > managed through DSI link. > > > > Signed-off-by: Shawn Guo > > Please consider