Message ID | 20200709164736.18291-1-laurentiu.palcu@oss.nxp.com (mailing list archive) |
---|---|
Headers | show |
Series | Add support for iMX8MQ Display Controller Subsystem | expand |
Hi Laurentiu, Am Donnerstag, den 09.07.2020, 19:47 +0300 schrieb Laurentiu Palcu: > From: Laurentiu Palcu <laurentiu.palcu@nxp.com> > > Hi, > > This patchset adds initial DCSS support for iMX8MQ chip. Initial support > includes only graphics plane support (no video planes), no HDR10 capabilities, > no graphics decompression (only linear, tiled and super-tiled buffers allowed). > > Support for the rest of the features will be added incrementally, in subsequent > patches. > > The patchset was tested with both HDP driver (in the downstream tree) and the upstream > MIPI-DSI driver (with a couple of patches on top, to make it work correctly with DCSS). I think the series (minus 3/5 and minor correction to the DT binding) is fine to go in now. So just some formal questions: are you going to maintain this driver in upstream? If so we should add a MAINTAINERS entry to that effect. I can offer to act as a reviewer in this case. How do you intend to merge this? IMO pushing this through drm-misc seems like the right thing to do. If you agree I can help you get this applied. If you are going to maintain the driver on your own, I think you should then apply for commit rights to drm-misc. Regards, Lucas > Thanks, > Laurentiu > > Changes in v5: > * Rebased to latest; > * Took out component framework support and made it a separate patch so > that people can still test with HDP driver, which makes use of it. > But the idea is to get rid of it once HDP driver's next versions > will remove component framework as well; > * Slight improvement to modesetting: avoid cutting off the pixel clock > if the new mode and the old one are equal. Also, in this case, is > not necessary to wait for DTG to shut off. This would allow to switch > from 8b RGB to 12b YUV422, for example, with no interruptions (at least > from DCSS point of view); > * Do not fire off CTXLD when going to suspend, unless it still has > entries that need to be committed to DCSS; > * Addressed Rob's comments on bindings; > > Changes in v4: > * Addressed Lucas and Philipp's comments: > * Added DRM_KMS_CMA_HELPER dependency in Kconfig; > * Removed usage of devm_ functions since I'm already doing all the > clean-up in the submodules_deinit(); > * Moved the drm_crtc_arm_vblank_event() in dcss_crtc_atomic_flush(); > * Removed en_completion variable from dcss_crtc since this was > introduced mainly to avoid vblank timeout warnings which were fixed > by arming the vblank event in flush() instead of begin(); > * Removed clks_on and irq_enabled flags since all the calls to > enabling/disabling clocks and interrupts were balanced; > * Removed the custom atomic_commit callback and used the DRM core > helper and, in the process, got rid of a workqueue that wasn't > necessary anymore; > * Fixed some minor DT binding issues flagged by Philipp; > * Some other minor changes suggested by Lucas; > * Removed YUV formats from the supported formats as these cannot work > without the HDR10 module CSCs and LUTs. Will add them back when I > will add support for video planes; > > Changes in v3: > * rebased to latest linux-next and made it compile as drmP.h was > removed; > * removed the patch adding the VIDEO2_PLL clock. It's already applied; > * removed an unnecessary 50ms sleep in the dcss_dtg_sync_set(); > * fixed a a spurious hang reported by Lukas Hartmann and encountered > by me several times; > * mask DPR and DTG interrupts by default, as they may come enabled from > U-boot; > > Changes in v2: > * Removed '0x' in node's unit-address both in DT and yaml; > * Made the address region size lowercase, to be consistent; > * Removed some left-over references to P010; > * Added a Kconfig dependency of DRM && ARCH_MXC. This will also silence compilation > issues reported by kbuild for other architectures; > > Laurentiu Palcu (5): > drm/imx: compile imx directory by default > drm/imx: Add initial support for DCSS on iMX8MQ > drm/imx/dcss: add component framework functionality > dt-bindings: display: imx: add bindings for DCSS > arm64: dts: imx8mq: add DCSS node > > .../bindings/display/imx/nxp,imx8mq-dcss.yaml | 84 ++ > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 23 + > drivers/gpu/drm/Makefile | 2 +- > drivers/gpu/drm/imx/Kconfig | 2 + > drivers/gpu/drm/imx/Makefile | 1 + > drivers/gpu/drm/imx/dcss/Kconfig | 9 + > drivers/gpu/drm/imx/dcss/Makefile | 6 + > drivers/gpu/drm/imx/dcss/dcss-blkctl.c | 70 ++ > drivers/gpu/drm/imx/dcss/dcss-crtc.c | 219 +++++ > drivers/gpu/drm/imx/dcss/dcss-ctxld.c | 424 +++++++++ > drivers/gpu/drm/imx/dcss/dcss-dev.c | 314 +++++++ > drivers/gpu/drm/imx/dcss/dcss-dev.h | 177 ++++ > drivers/gpu/drm/imx/dcss/dcss-dpr.c | 562 ++++++++++++ > drivers/gpu/drm/imx/dcss/dcss-drv.c | 183 ++++ > drivers/gpu/drm/imx/dcss/dcss-dtg.c | 409 +++++++++ > drivers/gpu/drm/imx/dcss/dcss-kms.c | 185 ++++ > drivers/gpu/drm/imx/dcss/dcss-kms.h | 43 + > drivers/gpu/drm/imx/dcss/dcss-plane.c | 405 +++++++++ > drivers/gpu/drm/imx/dcss/dcss-scaler.c | 826 ++++++++++++++++++ > drivers/gpu/drm/imx/dcss/dcss-ss.c | 180 ++++ > 20 files changed, 4123 insertions(+), 1 deletion(-) > create mode 100644 Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml > create mode 100644 drivers/gpu/drm/imx/dcss/Kconfig > create mode 100644 drivers/gpu/drm/imx/dcss/Makefile > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-blkctl.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-crtc.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ctxld.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.h > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dpr.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-drv.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dtg.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.h > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-plane.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-scaler.c > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ss.c >
On Fri, Jul 17, 2020 at 10:18 AM Lucas Stach <l.stach@pengutronix.de> wrote: > > Hi Laurentiu, > > Am Donnerstag, den 09.07.2020, 19:47 +0300 schrieb Laurentiu Palcu: > > From: Laurentiu Palcu <laurentiu.palcu@nxp.com> > > > > Hi, > > > > This patchset adds initial DCSS support for iMX8MQ chip. Initial support > > includes only graphics plane support (no video planes), no HDR10 capabilities, > > no graphics decompression (only linear, tiled and super-tiled buffers allowed). > > > > Support for the rest of the features will be added incrementally, in subsequent > > patches. > > > > The patchset was tested with both HDP driver (in the downstream tree) and the upstream > > MIPI-DSI driver (with a couple of patches on top, to make it work correctly with DCSS). > > I think the series (minus 3/5 and minor correction to the DT binding) > is fine to go in now. So just some formal questions: are you going to > maintain this driver in upstream? If so we should add a MAINTAINERS > entry to that effect. I can offer to act as a reviewer in this case. > > How do you intend to merge this? IMO pushing this through drm-misc > seems like the right thing to do. If you agree I can help you get this > applied. If you are going to maintain the driver on your own, I think > you should then apply for commit rights to drm-misc. drm/imx isn't listed yet as under the drm-misc umbrella, maybe we should put the entire collective of imx drivers under drm-misc? Or maybe it's just an oversight that the git repo isn't specified in the MAINTAINERS entry. Also maybe we should add the pengutronix kernel team alias there too? -Daniel > Regards, > Lucas > > > Thanks, > > Laurentiu > > > > Changes in v5: > > * Rebased to latest; > > * Took out component framework support and made it a separate patch so > > that people can still test with HDP driver, which makes use of it. > > But the idea is to get rid of it once HDP driver's next versions > > will remove component framework as well; > > * Slight improvement to modesetting: avoid cutting off the pixel clock > > if the new mode and the old one are equal. Also, in this case, is > > not necessary to wait for DTG to shut off. This would allow to switch > > from 8b RGB to 12b YUV422, for example, with no interruptions (at least > > from DCSS point of view); > > * Do not fire off CTXLD when going to suspend, unless it still has > > entries that need to be committed to DCSS; > > * Addressed Rob's comments on bindings; > > > > Changes in v4: > > * Addressed Lucas and Philipp's comments: > > * Added DRM_KMS_CMA_HELPER dependency in Kconfig; > > * Removed usage of devm_ functions since I'm already doing all the > > clean-up in the submodules_deinit(); > > * Moved the drm_crtc_arm_vblank_event() in dcss_crtc_atomic_flush(); > > * Removed en_completion variable from dcss_crtc since this was > > introduced mainly to avoid vblank timeout warnings which were fixed > > by arming the vblank event in flush() instead of begin(); > > * Removed clks_on and irq_enabled flags since all the calls to > > enabling/disabling clocks and interrupts were balanced; > > * Removed the custom atomic_commit callback and used the DRM core > > helper and, in the process, got rid of a workqueue that wasn't > > necessary anymore; > > * Fixed some minor DT binding issues flagged by Philipp; > > * Some other minor changes suggested by Lucas; > > * Removed YUV formats from the supported formats as these cannot work > > without the HDR10 module CSCs and LUTs. Will add them back when I > > will add support for video planes; > > > > Changes in v3: > > * rebased to latest linux-next and made it compile as drmP.h was > > removed; > > * removed the patch adding the VIDEO2_PLL clock. It's already applied; > > * removed an unnecessary 50ms sleep in the dcss_dtg_sync_set(); > > * fixed a a spurious hang reported by Lukas Hartmann and encountered > > by me several times; > > * mask DPR and DTG interrupts by default, as they may come enabled from > > U-boot; > > > > Changes in v2: > > * Removed '0x' in node's unit-address both in DT and yaml; > > * Made the address region size lowercase, to be consistent; > > * Removed some left-over references to P010; > > * Added a Kconfig dependency of DRM && ARCH_MXC. This will also silence compilation > > issues reported by kbuild for other architectures; > > > > Laurentiu Palcu (5): > > drm/imx: compile imx directory by default > > drm/imx: Add initial support for DCSS on iMX8MQ > > drm/imx/dcss: add component framework functionality > > dt-bindings: display: imx: add bindings for DCSS > > arm64: dts: imx8mq: add DCSS node > > > > .../bindings/display/imx/nxp,imx8mq-dcss.yaml | 84 ++ > > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 23 + > > drivers/gpu/drm/Makefile | 2 +- > > drivers/gpu/drm/imx/Kconfig | 2 + > > drivers/gpu/drm/imx/Makefile | 1 + > > drivers/gpu/drm/imx/dcss/Kconfig | 9 + > > drivers/gpu/drm/imx/dcss/Makefile | 6 + > > drivers/gpu/drm/imx/dcss/dcss-blkctl.c | 70 ++ > > drivers/gpu/drm/imx/dcss/dcss-crtc.c | 219 +++++ > > drivers/gpu/drm/imx/dcss/dcss-ctxld.c | 424 +++++++++ > > drivers/gpu/drm/imx/dcss/dcss-dev.c | 314 +++++++ > > drivers/gpu/drm/imx/dcss/dcss-dev.h | 177 ++++ > > drivers/gpu/drm/imx/dcss/dcss-dpr.c | 562 ++++++++++++ > > drivers/gpu/drm/imx/dcss/dcss-drv.c | 183 ++++ > > drivers/gpu/drm/imx/dcss/dcss-dtg.c | 409 +++++++++ > > drivers/gpu/drm/imx/dcss/dcss-kms.c | 185 ++++ > > drivers/gpu/drm/imx/dcss/dcss-kms.h | 43 + > > drivers/gpu/drm/imx/dcss/dcss-plane.c | 405 +++++++++ > > drivers/gpu/drm/imx/dcss/dcss-scaler.c | 826 ++++++++++++++++++ > > drivers/gpu/drm/imx/dcss/dcss-ss.c | 180 ++++ > > 20 files changed, 4123 insertions(+), 1 deletion(-) > > create mode 100644 Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml > > create mode 100644 drivers/gpu/drm/imx/dcss/Kconfig > > create mode 100644 drivers/gpu/drm/imx/dcss/Makefile > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-blkctl.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-crtc.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ctxld.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.h > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dpr.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-drv.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dtg.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.h > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-plane.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-scaler.c > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ss.c > > > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Am Freitag, den 17.07.2020, 10:59 +0200 schrieb Daniel Vetter: > On Fri, Jul 17, 2020 at 10:18 AM Lucas Stach <l.stach@pengutronix.de> wrote: > > Hi Laurentiu, > > > > Am Donnerstag, den 09.07.2020, 19:47 +0300 schrieb Laurentiu Palcu: > > > From: Laurentiu Palcu <laurentiu.palcu@nxp.com> > > > > > > Hi, > > > > > > This patchset adds initial DCSS support for iMX8MQ chip. Initial support > > > includes only graphics plane support (no video planes), no HDR10 capabilities, > > > no graphics decompression (only linear, tiled and super-tiled buffers allowed). > > > > > > Support for the rest of the features will be added incrementally, in subsequent > > > patches. > > > > > > The patchset was tested with both HDP driver (in the downstream tree) and the upstream > > > MIPI-DSI driver (with a couple of patches on top, to make it work correctly with DCSS). > > > > I think the series (minus 3/5 and minor correction to the DT binding) > > is fine to go in now. So just some formal questions: are you going to > > maintain this driver in upstream? If so we should add a MAINTAINERS > > entry to that effect. I can offer to act as a reviewer in this case. > > > > How do you intend to merge this? IMO pushing this through drm-misc > > seems like the right thing to do. If you agree I can help you get this > > applied. If you are going to maintain the driver on your own, I think > > you should then apply for commit rights to drm-misc. > > drm/imx isn't listed yet as under the drm-misc umbrella, maybe we > should put the entire collective of imx drivers under drm-misc? Or > maybe it's just an oversight that the git repo isn't specified in the > MAINTAINERS entry. Also maybe we should add the pengutronix kernel > team alias there too? drm/imx was exclusively the IPUv3 up until now, which is in fact maintained outside of drm-misc in its own git tree. This has worked quite well in the past so even though IPUv3 doesn't see a lot of churn these days the motivation to change anything to this workflow is quite low. And yes, the git tree is missing from the MAINTAINERS entry. For the DCSS driver, if it's going to be maintained by NXP, I figured it might be easier for Laurentiu to push things into drm-misc than set up a separate public git tree. But IMHO that's fully up to him to decide. Regards, Lucas > -Daniel > > > > Regards, > > Lucas > > > > > Thanks, > > > Laurentiu > > > > > > Changes in v5: > > > * Rebased to latest; > > > * Took out component framework support and made it a separate patch so > > > that people can still test with HDP driver, which makes use of it. > > > But the idea is to get rid of it once HDP driver's next versions > > > will remove component framework as well; > > > * Slight improvement to modesetting: avoid cutting off the pixel clock > > > if the new mode and the old one are equal. Also, in this case, is > > > not necessary to wait for DTG to shut off. This would allow to switch > > > from 8b RGB to 12b YUV422, for example, with no interruptions (at least > > > from DCSS point of view); > > > * Do not fire off CTXLD when going to suspend, unless it still has > > > entries that need to be committed to DCSS; > > > * Addressed Rob's comments on bindings; > > > > > > Changes in v4: > > > * Addressed Lucas and Philipp's comments: > > > * Added DRM_KMS_CMA_HELPER dependency in Kconfig; > > > * Removed usage of devm_ functions since I'm already doing all the > > > clean-up in the submodules_deinit(); > > > * Moved the drm_crtc_arm_vblank_event() in dcss_crtc_atomic_flush(); > > > * Removed en_completion variable from dcss_crtc since this was > > > introduced mainly to avoid vblank timeout warnings which were fixed > > > by arming the vblank event in flush() instead of begin(); > > > * Removed clks_on and irq_enabled flags since all the calls to > > > enabling/disabling clocks and interrupts were balanced; > > > * Removed the custom atomic_commit callback and used the DRM core > > > helper and, in the process, got rid of a workqueue that wasn't > > > necessary anymore; > > > * Fixed some minor DT binding issues flagged by Philipp; > > > * Some other minor changes suggested by Lucas; > > > * Removed YUV formats from the supported formats as these cannot work > > > without the HDR10 module CSCs and LUTs. Will add them back when I > > > will add support for video planes; > > > > > > Changes in v3: > > > * rebased to latest linux-next and made it compile as drmP.h was > > > removed; > > > * removed the patch adding the VIDEO2_PLL clock. It's already applied; > > > * removed an unnecessary 50ms sleep in the dcss_dtg_sync_set(); > > > * fixed a a spurious hang reported by Lukas Hartmann and encountered > > > by me several times; > > > * mask DPR and DTG interrupts by default, as they may come enabled from > > > U-boot; > > > > > > Changes in v2: > > > * Removed '0x' in node's unit-address both in DT and yaml; > > > * Made the address region size lowercase, to be consistent; > > > * Removed some left-over references to P010; > > > * Added a Kconfig dependency of DRM && ARCH_MXC. This will also silence compilation > > > issues reported by kbuild for other architectures; > > > > > > Laurentiu Palcu (5): > > > drm/imx: compile imx directory by default > > > drm/imx: Add initial support for DCSS on iMX8MQ > > > drm/imx/dcss: add component framework functionality > > > dt-bindings: display: imx: add bindings for DCSS > > > arm64: dts: imx8mq: add DCSS node > > > > > > .../bindings/display/imx/nxp,imx8mq-dcss.yaml | 84 ++ > > > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 23 + > > > drivers/gpu/drm/Makefile | 2 +- > > > drivers/gpu/drm/imx/Kconfig | 2 + > > > drivers/gpu/drm/imx/Makefile | 1 + > > > drivers/gpu/drm/imx/dcss/Kconfig | 9 + > > > drivers/gpu/drm/imx/dcss/Makefile | 6 + > > > drivers/gpu/drm/imx/dcss/dcss-blkctl.c | 70 ++ > > > drivers/gpu/drm/imx/dcss/dcss-crtc.c | 219 +++++ > > > drivers/gpu/drm/imx/dcss/dcss-ctxld.c | 424 +++++++++ > > > drivers/gpu/drm/imx/dcss/dcss-dev.c | 314 +++++++ > > > drivers/gpu/drm/imx/dcss/dcss-dev.h | 177 ++++ > > > drivers/gpu/drm/imx/dcss/dcss-dpr.c | 562 ++++++++++++ > > > drivers/gpu/drm/imx/dcss/dcss-drv.c | 183 ++++ > > > drivers/gpu/drm/imx/dcss/dcss-dtg.c | 409 +++++++++ > > > drivers/gpu/drm/imx/dcss/dcss-kms.c | 185 ++++ > > > drivers/gpu/drm/imx/dcss/dcss-kms.h | 43 + > > > drivers/gpu/drm/imx/dcss/dcss-plane.c | 405 +++++++++ > > > drivers/gpu/drm/imx/dcss/dcss-scaler.c | 826 ++++++++++++++++++ > > > drivers/gpu/drm/imx/dcss/dcss-ss.c | 180 ++++ > > > 20 files changed, 4123 insertions(+), 1 deletion(-) > > > create mode 100644 Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml > > > create mode 100644 drivers/gpu/drm/imx/dcss/Kconfig > > > create mode 100644 drivers/gpu/drm/imx/dcss/Makefile > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-blkctl.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-crtc.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ctxld.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.h > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dpr.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-drv.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dtg.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.h > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-plane.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-scaler.c > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ss.c > > > > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > >
On Fri, Jul 17, 2020 at 11:12:39AM +0200, Lucas Stach wrote: > Am Freitag, den 17.07.2020, 10:59 +0200 schrieb Daniel Vetter: > > On Fri, Jul 17, 2020 at 10:18 AM Lucas Stach <l.stach@pengutronix.de> wrote: > > > Hi Laurentiu, > > > > > > Am Donnerstag, den 09.07.2020, 19:47 +0300 schrieb Laurentiu Palcu: > > > > From: Laurentiu Palcu <laurentiu.palcu@nxp.com> > > > > > > > > Hi, > > > > > > > > This patchset adds initial DCSS support for iMX8MQ chip. Initial support > > > > includes only graphics plane support (no video planes), no HDR10 capabilities, > > > > no graphics decompression (only linear, tiled and super-tiled buffers allowed). > > > > > > > > Support for the rest of the features will be added incrementally, in subsequent > > > > patches. > > > > > > > > The patchset was tested with both HDP driver (in the downstream tree) and the upstream > > > > MIPI-DSI driver (with a couple of patches on top, to make it work correctly with DCSS). > > > > > > I think the series (minus 3/5 and minor correction to the DT binding) > > > is fine to go in now. So just some formal questions: are you going to > > > maintain this driver in upstream? If so we should add a MAINTAINERS > > > entry to that effect. I can offer to act as a reviewer in this case. > > > > > > How do you intend to merge this? IMO pushing this through drm-misc > > > seems like the right thing to do. If you agree I can help you get this > > > applied. If you are going to maintain the driver on your own, I think > > > you should then apply for commit rights to drm-misc. > > > > drm/imx isn't listed yet as under the drm-misc umbrella, maybe we > > should put the entire collective of imx drivers under drm-misc? Or > > maybe it's just an oversight that the git repo isn't specified in the > > MAINTAINERS entry. Also maybe we should add the pengutronix kernel > > team alias there too? > > drm/imx was exclusively the IPUv3 up until now, which is in fact > maintained outside of drm-misc in its own git tree. This has worked > quite well in the past so even though IPUv3 doesn't see a lot of churn > these days the motivation to change anything to this workflow is quite > low. And yes, the git tree is missing from the MAINTAINERS entry. > > For the DCSS driver, if it's going to be maintained by NXP, I figured > it might be easier for Laurentiu to push things into drm-misc than set > up a separate public git tree. But IMHO that's fully up to him to > decide. /me puts on maintainer hat Much prefer drm-misc over random people playing maintainer and fumbling it. I think the reasonable options are either in the current imx tree, or drm-misc. Standalone tree for these small drivers just doesn't make much sense. -Daniel > > Regards, > Lucas > > > -Daniel > > > > > > > Regards, > > > Lucas > > > > > > > Thanks, > > > > Laurentiu > > > > > > > > Changes in v5: > > > > * Rebased to latest; > > > > * Took out component framework support and made it a separate patch so > > > > that people can still test with HDP driver, which makes use of it. > > > > But the idea is to get rid of it once HDP driver's next versions > > > > will remove component framework as well; > > > > * Slight improvement to modesetting: avoid cutting off the pixel clock > > > > if the new mode and the old one are equal. Also, in this case, is > > > > not necessary to wait for DTG to shut off. This would allow to switch > > > > from 8b RGB to 12b YUV422, for example, with no interruptions (at least > > > > from DCSS point of view); > > > > * Do not fire off CTXLD when going to suspend, unless it still has > > > > entries that need to be committed to DCSS; > > > > * Addressed Rob's comments on bindings; > > > > > > > > Changes in v4: > > > > * Addressed Lucas and Philipp's comments: > > > > * Added DRM_KMS_CMA_HELPER dependency in Kconfig; > > > > * Removed usage of devm_ functions since I'm already doing all the > > > > clean-up in the submodules_deinit(); > > > > * Moved the drm_crtc_arm_vblank_event() in dcss_crtc_atomic_flush(); > > > > * Removed en_completion variable from dcss_crtc since this was > > > > introduced mainly to avoid vblank timeout warnings which were fixed > > > > by arming the vblank event in flush() instead of begin(); > > > > * Removed clks_on and irq_enabled flags since all the calls to > > > > enabling/disabling clocks and interrupts were balanced; > > > > * Removed the custom atomic_commit callback and used the DRM core > > > > helper and, in the process, got rid of a workqueue that wasn't > > > > necessary anymore; > > > > * Fixed some minor DT binding issues flagged by Philipp; > > > > * Some other minor changes suggested by Lucas; > > > > * Removed YUV formats from the supported formats as these cannot work > > > > without the HDR10 module CSCs and LUTs. Will add them back when I > > > > will add support for video planes; > > > > > > > > Changes in v3: > > > > * rebased to latest linux-next and made it compile as drmP.h was > > > > removed; > > > > * removed the patch adding the VIDEO2_PLL clock. It's already applied; > > > > * removed an unnecessary 50ms sleep in the dcss_dtg_sync_set(); > > > > * fixed a a spurious hang reported by Lukas Hartmann and encountered > > > > by me several times; > > > > * mask DPR and DTG interrupts by default, as they may come enabled from > > > > U-boot; > > > > > > > > Changes in v2: > > > > * Removed '0x' in node's unit-address both in DT and yaml; > > > > * Made the address region size lowercase, to be consistent; > > > > * Removed some left-over references to P010; > > > > * Added a Kconfig dependency of DRM && ARCH_MXC. This will also silence compilation > > > > issues reported by kbuild for other architectures; > > > > > > > > Laurentiu Palcu (5): > > > > drm/imx: compile imx directory by default > > > > drm/imx: Add initial support for DCSS on iMX8MQ > > > > drm/imx/dcss: add component framework functionality > > > > dt-bindings: display: imx: add bindings for DCSS > > > > arm64: dts: imx8mq: add DCSS node > > > > > > > > .../bindings/display/imx/nxp,imx8mq-dcss.yaml | 84 ++ > > > > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 23 + > > > > drivers/gpu/drm/Makefile | 2 +- > > > > drivers/gpu/drm/imx/Kconfig | 2 + > > > > drivers/gpu/drm/imx/Makefile | 1 + > > > > drivers/gpu/drm/imx/dcss/Kconfig | 9 + > > > > drivers/gpu/drm/imx/dcss/Makefile | 6 + > > > > drivers/gpu/drm/imx/dcss/dcss-blkctl.c | 70 ++ > > > > drivers/gpu/drm/imx/dcss/dcss-crtc.c | 219 +++++ > > > > drivers/gpu/drm/imx/dcss/dcss-ctxld.c | 424 +++++++++ > > > > drivers/gpu/drm/imx/dcss/dcss-dev.c | 314 +++++++ > > > > drivers/gpu/drm/imx/dcss/dcss-dev.h | 177 ++++ > > > > drivers/gpu/drm/imx/dcss/dcss-dpr.c | 562 ++++++++++++ > > > > drivers/gpu/drm/imx/dcss/dcss-drv.c | 183 ++++ > > > > drivers/gpu/drm/imx/dcss/dcss-dtg.c | 409 +++++++++ > > > > drivers/gpu/drm/imx/dcss/dcss-kms.c | 185 ++++ > > > > drivers/gpu/drm/imx/dcss/dcss-kms.h | 43 + > > > > drivers/gpu/drm/imx/dcss/dcss-plane.c | 405 +++++++++ > > > > drivers/gpu/drm/imx/dcss/dcss-scaler.c | 826 ++++++++++++++++++ > > > > drivers/gpu/drm/imx/dcss/dcss-ss.c | 180 ++++ > > > > 20 files changed, 4123 insertions(+), 1 deletion(-) > > > > create mode 100644 Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml > > > > create mode 100644 drivers/gpu/drm/imx/dcss/Kconfig > > > > create mode 100644 drivers/gpu/drm/imx/dcss/Makefile > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-blkctl.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-crtc.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ctxld.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.h > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dpr.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-drv.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dtg.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.h > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-plane.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-scaler.c > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ss.c > > > > > > > > > > _______________________________________________ > > > dri-devel mailing list > > > dri-devel@lists.freedesktop.org > > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > > > >
Hi Lukas and Daniel, On Fri, Jul 17, 2020 at 11:27:58AM +0200, Daniel Vetter wrote: > On Fri, Jul 17, 2020 at 11:12:39AM +0200, Lucas Stach wrote: > > Am Freitag, den 17.07.2020, 10:59 +0200 schrieb Daniel Vetter: > > > On Fri, Jul 17, 2020 at 10:18 AM Lucas Stach <l.stach@pengutronix.de> wrote: > > > > Hi Laurentiu, > > > > > > > > Am Donnerstag, den 09.07.2020, 19:47 +0300 schrieb Laurentiu Palcu: > > > > > From: Laurentiu Palcu <laurentiu.palcu@nxp.com> > > > > > > > > > > Hi, > > > > > > > > > > This patchset adds initial DCSS support for iMX8MQ chip. Initial support > > > > > includes only graphics plane support (no video planes), no HDR10 capabilities, > > > > > no graphics decompression (only linear, tiled and super-tiled buffers allowed). > > > > > > > > > > Support for the rest of the features will be added incrementally, in subsequent > > > > > patches. > > > > > > > > > > The patchset was tested with both HDP driver (in the downstream tree) and the upstream > > > > > MIPI-DSI driver (with a couple of patches on top, to make it work correctly with DCSS). > > > > > > > > I think the series (minus 3/5 and minor correction to the DT binding) > > > > is fine to go in now. So just some formal questions: are you going to > > > > maintain this driver in upstream? If so we should add a MAINTAINERS > > > > entry to that effect. I can offer to act as a reviewer in this case. I can maintain the DCSS driver, sure, and the more reviewers the better. Thanks for helping out with this. Should I send a v6 then with a patch for MAINTAINERS? > > > > > > > > How do you intend to merge this? IMO pushing this through drm-misc > > > > seems like the right thing to do. If you agree I can help you get this > > > > applied. If you are going to maintain the driver on your own, I think > > > > you should then apply for commit rights to drm-misc. > > > > > > drm/imx isn't listed yet as under the drm-misc umbrella, maybe we > > > should put the entire collective of imx drivers under drm-misc? Or > > > maybe it's just an oversight that the git repo isn't specified in the > > > MAINTAINERS entry. Also maybe we should add the pengutronix kernel > > > team alias there too? > > > > drm/imx was exclusively the IPUv3 up until now, which is in fact > > maintained outside of drm-misc in its own git tree. This has worked > > quite well in the past so even though IPUv3 doesn't see a lot of churn > > these days the motivation to change anything to this workflow is quite > > low. And yes, the git tree is missing from the MAINTAINERS entry. > > > > For the DCSS driver, if it's going to be maintained by NXP, I figured > > it might be easier for Laurentiu to push things into drm-misc than set > > up a separate public git tree. But IMHO that's fully up to him to > > decide. > > /me puts on maintainer hat > > Much prefer drm-misc over random people playing maintainer and fumbling > it. I think the reasonable options are either in the current imx tree, or > drm-misc. Standalone tree for these small drivers just doesn't make much > sense. I don't have anything against either method, though I have to agree I like things to be simple. Going through drm-misc sounds simple enough to me. :) However, since there is going to be more activity in the DRM IMX area in the future, reviving the drm/imx tree, and push all IMX related stuff through drm/imx, could make sense as well. Thanks, Laurentiu > -Daniel > > > > > Regards, > > Lucas > > > > > -Daniel > > > > > > > > > > Regards, > > > > Lucas > > > > > > > > > Thanks, > > > > > Laurentiu > > > > > > > > > > Changes in v5: > > > > > * Rebased to latest; > > > > > * Took out component framework support and made it a separate patch so > > > > > that people can still test with HDP driver, which makes use of it. > > > > > But the idea is to get rid of it once HDP driver's next versions > > > > > will remove component framework as well; > > > > > * Slight improvement to modesetting: avoid cutting off the pixel clock > > > > > if the new mode and the old one are equal. Also, in this case, is > > > > > not necessary to wait for DTG to shut off. This would allow to switch > > > > > from 8b RGB to 12b YUV422, for example, with no interruptions (at least > > > > > from DCSS point of view); > > > > > * Do not fire off CTXLD when going to suspend, unless it still has > > > > > entries that need to be committed to DCSS; > > > > > * Addressed Rob's comments on bindings; > > > > > > > > > > Changes in v4: > > > > > * Addressed Lucas and Philipp's comments: > > > > > * Added DRM_KMS_CMA_HELPER dependency in Kconfig; > > > > > * Removed usage of devm_ functions since I'm already doing all the > > > > > clean-up in the submodules_deinit(); > > > > > * Moved the drm_crtc_arm_vblank_event() in dcss_crtc_atomic_flush(); > > > > > * Removed en_completion variable from dcss_crtc since this was > > > > > introduced mainly to avoid vblank timeout warnings which were fixed > > > > > by arming the vblank event in flush() instead of begin(); > > > > > * Removed clks_on and irq_enabled flags since all the calls to > > > > > enabling/disabling clocks and interrupts were balanced; > > > > > * Removed the custom atomic_commit callback and used the DRM core > > > > > helper and, in the process, got rid of a workqueue that wasn't > > > > > necessary anymore; > > > > > * Fixed some minor DT binding issues flagged by Philipp; > > > > > * Some other minor changes suggested by Lucas; > > > > > * Removed YUV formats from the supported formats as these cannot work > > > > > without the HDR10 module CSCs and LUTs. Will add them back when I > > > > > will add support for video planes; > > > > > > > > > > Changes in v3: > > > > > * rebased to latest linux-next and made it compile as drmP.h was > > > > > removed; > > > > > * removed the patch adding the VIDEO2_PLL clock. It's already applied; > > > > > * removed an unnecessary 50ms sleep in the dcss_dtg_sync_set(); > > > > > * fixed a a spurious hang reported by Lukas Hartmann and encountered > > > > > by me several times; > > > > > * mask DPR and DTG interrupts by default, as they may come enabled from > > > > > U-boot; > > > > > > > > > > Changes in v2: > > > > > * Removed '0x' in node's unit-address both in DT and yaml; > > > > > * Made the address region size lowercase, to be consistent; > > > > > * Removed some left-over references to P010; > > > > > * Added a Kconfig dependency of DRM && ARCH_MXC. This will also silence compilation > > > > > issues reported by kbuild for other architectures; > > > > > > > > > > Laurentiu Palcu (5): > > > > > drm/imx: compile imx directory by default > > > > > drm/imx: Add initial support for DCSS on iMX8MQ > > > > > drm/imx/dcss: add component framework functionality > > > > > dt-bindings: display: imx: add bindings for DCSS > > > > > arm64: dts: imx8mq: add DCSS node > > > > > > > > > > .../bindings/display/imx/nxp,imx8mq-dcss.yaml | 84 ++ > > > > > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 23 + > > > > > drivers/gpu/drm/Makefile | 2 +- > > > > > drivers/gpu/drm/imx/Kconfig | 2 + > > > > > drivers/gpu/drm/imx/Makefile | 1 + > > > > > drivers/gpu/drm/imx/dcss/Kconfig | 9 + > > > > > drivers/gpu/drm/imx/dcss/Makefile | 6 + > > > > > drivers/gpu/drm/imx/dcss/dcss-blkctl.c | 70 ++ > > > > > drivers/gpu/drm/imx/dcss/dcss-crtc.c | 219 +++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-ctxld.c | 424 +++++++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-dev.c | 314 +++++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-dev.h | 177 ++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-dpr.c | 562 ++++++++++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-drv.c | 183 ++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-dtg.c | 409 +++++++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-kms.c | 185 ++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-kms.h | 43 + > > > > > drivers/gpu/drm/imx/dcss/dcss-plane.c | 405 +++++++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-scaler.c | 826 ++++++++++++++++++ > > > > > drivers/gpu/drm/imx/dcss/dcss-ss.c | 180 ++++ > > > > > 20 files changed, 4123 insertions(+), 1 deletion(-) > > > > > create mode 100644 Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/Kconfig > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/Makefile > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-blkctl.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-crtc.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ctxld.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.h > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dpr.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-drv.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dtg.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.h > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-plane.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-scaler.c > > > > > create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ss.c > > > > > > > > > > > > > _______________________________________________ > > > > dri-devel mailing list > > > > dri-devel@lists.freedesktop.org > > > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > > > > > > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch
Am Freitag, den 17.07.2020, 12:45 +0300 schrieb Laurentiu Palcu: > Hi Lukas and Daniel, > > On Fri, Jul 17, 2020 at 11:27:58AM +0200, Daniel Vetter wrote: > > On Fri, Jul 17, 2020 at 11:12:39AM +0200, Lucas Stach wrote: > > > Am Freitag, den 17.07.2020, 10:59 +0200 schrieb Daniel Vetter: > > > > On Fri, Jul 17, 2020 at 10:18 AM Lucas Stach <l.stach@pengutronix.de> wrote: > > > > > Hi Laurentiu, > > > > > > > > > > Am Donnerstag, den 09.07.2020, 19:47 +0300 schrieb Laurentiu Palcu: > > > > > > From: Laurentiu Palcu <laurentiu.palcu@nxp.com> > > > > > > > > > > > > Hi, > > > > > > > > > > > > This patchset adds initial DCSS support for iMX8MQ chip. Initial support > > > > > > includes only graphics plane support (no video planes), no HDR10 capabilities, > > > > > > no graphics decompression (only linear, tiled and super-tiled buffers allowed). > > > > > > > > > > > > Support for the rest of the features will be added incrementally, in subsequent > > > > > > patches. > > > > > > > > > > > > The patchset was tested with both HDP driver (in the downstream tree) and the upstream > > > > > > MIPI-DSI driver (with a couple of patches on top, to make it work correctly with DCSS). > > > > > > > > > > I think the series (minus 3/5 and minor correction to the DT binding) > > > > > is fine to go in now. So just some formal questions: are you going to > > > > > maintain this driver in upstream? If so we should add a MAINTAINERS > > > > > entry to that effect. I can offer to act as a reviewer in this case. > > I can maintain the DCSS driver, sure, and the more reviewers the better. > Thanks for helping out with this. Should I send a v6 then with a patch > for MAINTAINERS? > > > > > > How do you intend to merge this? IMO pushing this through drm-misc > > > > > seems like the right thing to do. If you agree I can help you get this > > > > > applied. If you are going to maintain the driver on your own, I think > > > > > you should then apply for commit rights to drm-misc. > > > > > > > > drm/imx isn't listed yet as under the drm-misc umbrella, maybe we > > > > should put the entire collective of imx drivers under drm-misc? Or > > > > maybe it's just an oversight that the git repo isn't specified in the > > > > MAINTAINERS entry. Also maybe we should add the pengutronix kernel > > > > team alias there too? > > > > > > drm/imx was exclusively the IPUv3 up until now, which is in fact > > > maintained outside of drm-misc in its own git tree. This has worked > > > quite well in the past so even though IPUv3 doesn't see a lot of churn > > > these days the motivation to change anything to this workflow is quite > > > low. And yes, the git tree is missing from the MAINTAINERS entry. > > > > > > For the DCSS driver, if it's going to be maintained by NXP, I figured > > > it might be easier for Laurentiu to push things into drm-misc than set > > > up a separate public git tree. But IMHO that's fully up to him to > > > decide. > > > > /me puts on maintainer hat > > > > Much prefer drm-misc over random people playing maintainer and fumbling > > it. I think the reasonable options are either in the current imx tree, or > > drm-misc. Standalone tree for these small drivers just doesn't make much > > sense. > > I don't have anything against either method, though I have to agree I > like things to be simple. Going through drm-misc sounds simple enough to me. :) > However, since there is going to be more activity in the DRM IMX area in > the future, reviving the drm/imx tree, and push all IMX related stuff > through drm/imx, could make sense as well. I think drm-misc is the right place then. Please send a v6 with the following changes: - drop the component framework patch - drop the i.MX8MQ DT patch, this should go through Shawn's imx tree after the driver and binding has landed in drm-misc - you can add my Reviewed-by to the whole series or I can add it when applying - add a MAINTAINERS entry, please add me as a reviewer if you don't mind I can push this initial series into drm-misc until you've got your own commit rights. Regards, Lucas
On Fri, Jul 17, 2020 at 12:51 PM Lucas Stach <l.stach@pengutronix.de> wrote: > > Am Freitag, den 17.07.2020, 12:45 +0300 schrieb Laurentiu Palcu: > > Hi Lukas and Daniel, > > > > On Fri, Jul 17, 2020 at 11:27:58AM +0200, Daniel Vetter wrote: > > > On Fri, Jul 17, 2020 at 11:12:39AM +0200, Lucas Stach wrote: > > > > Am Freitag, den 17.07.2020, 10:59 +0200 schrieb Daniel Vetter: > > > > > On Fri, Jul 17, 2020 at 10:18 AM Lucas Stach <l.stach@pengutronix.de> wrote: > > > > > > Hi Laurentiu, > > > > > > > > > > > > Am Donnerstag, den 09.07.2020, 19:47 +0300 schrieb Laurentiu Palcu: > > > > > > > From: Laurentiu Palcu <laurentiu.palcu@nxp.com> > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > This patchset adds initial DCSS support for iMX8MQ chip. Initial support > > > > > > > includes only graphics plane support (no video planes), no HDR10 capabilities, > > > > > > > no graphics decompression (only linear, tiled and super-tiled buffers allowed). > > > > > > > > > > > > > > Support for the rest of the features will be added incrementally, in subsequent > > > > > > > patches. > > > > > > > > > > > > > > The patchset was tested with both HDP driver (in the downstream tree) and the upstream > > > > > > > MIPI-DSI driver (with a couple of patches on top, to make it work correctly with DCSS). > > > > > > > > > > > > I think the series (minus 3/5 and minor correction to the DT binding) > > > > > > is fine to go in now. So just some formal questions: are you going to > > > > > > maintain this driver in upstream? If so we should add a MAINTAINERS > > > > > > entry to that effect. I can offer to act as a reviewer in this case. > > > > I can maintain the DCSS driver, sure, and the more reviewers the better. > > Thanks for helping out with this. Should I send a v6 then with a patch > > for MAINTAINERS? > > > > > > > > How do you intend to merge this? IMO pushing this through drm-misc > > > > > > seems like the right thing to do. If you agree I can help you get this > > > > > > applied. If you are going to maintain the driver on your own, I think > > > > > > you should then apply for commit rights to drm-misc. > > > > > > > > > > drm/imx isn't listed yet as under the drm-misc umbrella, maybe we > > > > > should put the entire collective of imx drivers under drm-misc? Or > > > > > maybe it's just an oversight that the git repo isn't specified in the > > > > > MAINTAINERS entry. Also maybe we should add the pengutronix kernel > > > > > team alias there too? > > > > > > > > drm/imx was exclusively the IPUv3 up until now, which is in fact > > > > maintained outside of drm-misc in its own git tree. This has worked > > > > quite well in the past so even though IPUv3 doesn't see a lot of churn > > > > these days the motivation to change anything to this workflow is quite > > > > low. And yes, the git tree is missing from the MAINTAINERS entry. > > > > > > > > For the DCSS driver, if it's going to be maintained by NXP, I figured > > > > it might be easier for Laurentiu to push things into drm-misc than set > > > > up a separate public git tree. But IMHO that's fully up to him to > > > > decide. > > > > > > /me puts on maintainer hat > > > > > > Much prefer drm-misc over random people playing maintainer and fumbling > > > it. I think the reasonable options are either in the current imx tree, or > > > drm-misc. Standalone tree for these small drivers just doesn't make much > > > sense. > > > > I don't have anything against either method, though I have to agree I > > like things to be simple. Going through drm-misc sounds simple enough to me. :) > > However, since there is going to be more activity in the DRM IMX area in > > the future, reviving the drm/imx tree, and push all IMX related stuff > > through drm/imx, could make sense as well. > > I think drm-misc is the right place then. > > Please send a v6 with the following changes: > - drop the component framework patch > - drop the i.MX8MQ DT patch, this should go through Shawn's imx tree > after the driver and binding has landed in drm-misc > - you can add my Reviewed-by to the whole series or I can add it when > applying > - add a MAINTAINERS entry, please add me as a reviewer if you don't > mind > > I can push this initial series into drm-misc until you've got your own > commit rights. For drm-misc howto get started: https://drm.pages.freedesktop.org/maintainer-tools/getting-started.html And howto get commit rights: https://drm.pages.freedesktop.org/maintainer-tools/commit-access.html Once you have the fd.o bug report to request commit rights pls paste it here so we can get the ack from drm-misc maintainers. Cheers, Daniel
From: Laurentiu Palcu <laurentiu.palcu@nxp.com> Hi, This patchset adds initial DCSS support for iMX8MQ chip. Initial support includes only graphics plane support (no video planes), no HDR10 capabilities, no graphics decompression (only linear, tiled and super-tiled buffers allowed). Support for the rest of the features will be added incrementally, in subsequent patches. The patchset was tested with both HDP driver (in the downstream tree) and the upstream MIPI-DSI driver (with a couple of patches on top, to make it work correctly with DCSS). Thanks, Laurentiu Changes in v5: * Rebased to latest; * Took out component framework support and made it a separate patch so that people can still test with HDP driver, which makes use of it. But the idea is to get rid of it once HDP driver's next versions will remove component framework as well; * Slight improvement to modesetting: avoid cutting off the pixel clock if the new mode and the old one are equal. Also, in this case, is not necessary to wait for DTG to shut off. This would allow to switch from 8b RGB to 12b YUV422, for example, with no interruptions (at least from DCSS point of view); * Do not fire off CTXLD when going to suspend, unless it still has entries that need to be committed to DCSS; * Addressed Rob's comments on bindings; Changes in v4: * Addressed Lucas and Philipp's comments: * Added DRM_KMS_CMA_HELPER dependency in Kconfig; * Removed usage of devm_ functions since I'm already doing all the clean-up in the submodules_deinit(); * Moved the drm_crtc_arm_vblank_event() in dcss_crtc_atomic_flush(); * Removed en_completion variable from dcss_crtc since this was introduced mainly to avoid vblank timeout warnings which were fixed by arming the vblank event in flush() instead of begin(); * Removed clks_on and irq_enabled flags since all the calls to enabling/disabling clocks and interrupts were balanced; * Removed the custom atomic_commit callback and used the DRM core helper and, in the process, got rid of a workqueue that wasn't necessary anymore; * Fixed some minor DT binding issues flagged by Philipp; * Some other minor changes suggested by Lucas; * Removed YUV formats from the supported formats as these cannot work without the HDR10 module CSCs and LUTs. Will add them back when I will add support for video planes; Changes in v3: * rebased to latest linux-next and made it compile as drmP.h was removed; * removed the patch adding the VIDEO2_PLL clock. It's already applied; * removed an unnecessary 50ms sleep in the dcss_dtg_sync_set(); * fixed a a spurious hang reported by Lukas Hartmann and encountered by me several times; * mask DPR and DTG interrupts by default, as they may come enabled from U-boot; Changes in v2: * Removed '0x' in node's unit-address both in DT and yaml; * Made the address region size lowercase, to be consistent; * Removed some left-over references to P010; * Added a Kconfig dependency of DRM && ARCH_MXC. This will also silence compilation issues reported by kbuild for other architectures; Laurentiu Palcu (5): drm/imx: compile imx directory by default drm/imx: Add initial support for DCSS on iMX8MQ drm/imx/dcss: add component framework functionality dt-bindings: display: imx: add bindings for DCSS arm64: dts: imx8mq: add DCSS node .../bindings/display/imx/nxp,imx8mq-dcss.yaml | 84 ++ arch/arm64/boot/dts/freescale/imx8mq.dtsi | 23 + drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/imx/Kconfig | 2 + drivers/gpu/drm/imx/Makefile | 1 + drivers/gpu/drm/imx/dcss/Kconfig | 9 + drivers/gpu/drm/imx/dcss/Makefile | 6 + drivers/gpu/drm/imx/dcss/dcss-blkctl.c | 70 ++ drivers/gpu/drm/imx/dcss/dcss-crtc.c | 219 +++++ drivers/gpu/drm/imx/dcss/dcss-ctxld.c | 424 +++++++++ drivers/gpu/drm/imx/dcss/dcss-dev.c | 314 +++++++ drivers/gpu/drm/imx/dcss/dcss-dev.h | 177 ++++ drivers/gpu/drm/imx/dcss/dcss-dpr.c | 562 ++++++++++++ drivers/gpu/drm/imx/dcss/dcss-drv.c | 183 ++++ drivers/gpu/drm/imx/dcss/dcss-dtg.c | 409 +++++++++ drivers/gpu/drm/imx/dcss/dcss-kms.c | 185 ++++ drivers/gpu/drm/imx/dcss/dcss-kms.h | 43 + drivers/gpu/drm/imx/dcss/dcss-plane.c | 405 +++++++++ drivers/gpu/drm/imx/dcss/dcss-scaler.c | 826 ++++++++++++++++++ drivers/gpu/drm/imx/dcss/dcss-ss.c | 180 ++++ 20 files changed, 4123 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml create mode 100644 drivers/gpu/drm/imx/dcss/Kconfig create mode 100644 drivers/gpu/drm/imx/dcss/Makefile create mode 100644 drivers/gpu/drm/imx/dcss/dcss-blkctl.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-crtc.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ctxld.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dev.h create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dpr.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-drv.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-dtg.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-kms.h create mode 100644 drivers/gpu/drm/imx/dcss/dcss-plane.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-scaler.c create mode 100644 drivers/gpu/drm/imx/dcss/dcss-ss.c