Re: [PATCH v3 1/3] ARM: dts: imx6ul: Add csi node
On Wed, Jul 31, 2019 at 06:32:57PM +0200, Sébastien Szymanski wrote: > Add csi node for i.MX6UL SoC. > > Reviewed-by: Fabio Estevam > Signed-off-by: Sébastien Szymanski Applied, thanks. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 10/15] ARM: dts: imx7s: add multiplexer controls
On Mon, Apr 23, 2018 at 02:47:45PM +0100, Rui Miguel Silva wrote: > The IOMUXC General Purpose Register has bitfield to control video bus > multiplexer to control the CSI input between the MIPI-CSI2 and parallel > interface. Add that register and mask. > > Signed-off-by: Rui Miguel Silva> --- > arch/arm/boot/dts/imx7s.dtsi | 9 - > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi > index d913c3f9c284..3027d6a62021 100644 > --- a/arch/arm/boot/dts/imx7s.dtsi > +++ b/arch/arm/boot/dts/imx7s.dtsi > @@ -534,8 +534,15 @@ > > gpr: iomuxc-gpr@3034 { > compatible = "fsl,imx7d-iomuxc-gpr", > - "fsl,imx6q-iomuxc-gpr", "syscon"; > + "fsl,imx6q-iomuxc-gpr", "syscon", > "simple-mfd"; > reg = <0x3034 0x1>; > + > + mux: mux-controller { > + compatible = "mmio-mux"; > + #mux-control-cells = <1>; > + The newline in between property list is not really necessary. Shawn > + mux-reg-masks = <0x14 0x0010>; > + }; > }; > > ocotp: ocotp-ctrl@3035 { > -- > 2.17.0 > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 07/15] ARM: dts: increase default cma size to 40MB
On Mon, Apr 23, 2018 at 02:47:42PM +0100, Rui Miguel Silva wrote: > To support camera in i.MX7 the cma heap is used to allocate frame buffers. The > default size of CMA is 16MB which is not enough for higher resolutions (ex: > 1600x1200). > > So, increase the default CMA size to 40MB. > > Signed-off-by: Rui Miguel SilvaCMA size can be adjusted by kernel cmdline. I'm not sure it's necessary to make it fixed in DT. Shawn > --- > arch/arm/boot/dts/imx7s.dtsi | 14 ++ > 1 file changed, 14 insertions(+) > > diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi > index 4d42335c0dee..142ea709d296 100644 > --- a/arch/arm/boot/dts/imx7s.dtsi > +++ b/arch/arm/boot/dts/imx7s.dtsi > @@ -182,6 +182,20 @@ > IRQ_TYPE_LEVEL_LOW)>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + /* global autoconfigured region for contiguous allocations */ > + linux,cma { > + compatible = "shared-dma-pool"; > + reusable; > + size = <0x280>; > + linux,cma-default; > + }; > + }; > + > soc { > #address-cells = <1>; > #size-cells = <1>; > -- > 2.17.0 > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 04/15] clk: imx7d: reset parent for mipi csi root
On Mon, Apr 23, 2018 at 02:47:39PM +0100, Rui Miguel Silva wrote: > To guarantee that we do not get Overflow in image FIFO the outer bandwidth has > to be faster than inputer bandwidth. For that it must be possible to set a > faster frequency clock. So set new parent to sys_pfd3 clock for the mipi csi > block. > > Cc: linux-...@vger.kernel.org > Signed-off-by: Rui Miguel Silva <rui.si...@linaro.org> > --- > drivers/clk/imx/clk-imx7d.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/clk/imx/clk-imx7d.c b/drivers/clk/imx/clk-imx7d.c > index f7f4db2e6fa6..9a1a18ceb132 100644 > --- a/drivers/clk/imx/clk-imx7d.c > +++ b/drivers/clk/imx/clk-imx7d.c > @@ -891,6 +891,9 @@ static void __init imx7d_clocks_init(struct device_node > *ccm_node) > clk_set_parent(clks[IMX7D_PLL_AUDIO_MAIN_BYPASS], > clks[IMX7D_PLL_AUDIO_MAIN]); > clk_set_parent(clks[IMX7D_PLL_VIDEO_MAIN_BYPASS], > clks[IMX7D_PLL_VIDEO_MAIN]); > > + clk_set_parent(clks[IMX7D_MIPI_CSI_ROOT_SRC], > +clks[IMX7D_PLL_SYS_PFD3_CLK]); > + For i.MX clock driver, we intentionally ignore line over 80 columns warning to make the file easier for read. So I would suggest you keep it on a single line to stay consistent with other clk_set_parent() calls. Other than that, Acked-by: Shawn Guo <shawn...@kernel.org> > /* use old gpt clk setting, gpt1 root clk must be twice as gpt counter > freq */ > clk_set_parent(clks[IMX7D_GPT1_ROOT_SRC], clks[IMX7D_OSC_24M_CLK]); > > -- > 2.17.0 > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] mtd: nand: Rename nand.h into rawnand.h
On Fri, Aug 04, 2017 at 05:29:10PM +0200, Boris Brezillon wrote: > We are planning to share more code between different NAND based > devices (SPI NAND, OneNAND and raw NANDs), but before doing that > we need to move the existing include/linux/mtd/nand.h file into > include/linux/mtd/rawnand.h so we can later create a nand.h header > containing all common structure and function prototypes. > > Signed-off-by: Boris Brezillon <boris.brezil...@free-electrons.com> > Signed-off-by: Peter Pan <peterpand...@micron.com> ... > arch/arm/mach-imx/mach-qong.c | 2 +- Acked-by: Shawn Guo <shawn...@kernel.org> ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/3] MAINTAINERS: add maintainer for i.MX DRM driver
On Tue, Nov 4, 2014 at 6:52 PM, Philipp Zabel p.za...@pengutronix.de wrote: Add myself as the maintainer of the i.MX DRM driver. Signed-off-by: Philipp Zabel p.za...@pengutronix.de Acked-by: Shawn Guo shawn@linaro.org --- MAINTAINERS | 7 +++ 1 file changed, 7 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index df2aecf..ddf191d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3183,6 +3183,13 @@ F: drivers/gpu/drm/exynos/ F: include/drm/exynos* F: include/uapi/drm/exynos* +DRM DRIVERS FOR FREESCALE IMX +M: Philipp Zabel p.za...@pengutronix.de +L: dri-de...@lists.freedesktop.org +S: Maintained +F: drivers/gpu/drm/imx/ +F: Documentation/devicetree/bindings/drm/imx/ + DRM DRIVERS FOR NVIDIA TEGRA M: Thierry Reding thierry.red...@gmail.com M: Terje Bergström tbergst...@nvidia.com -- 2.1.1 ___ dri-devel mailing list dri-de...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] imx-drm: ipuv3-plane: remove function ipu_plane_dpms()
All those ipu_*_put() calls in ipu_plane_dpms() are unnecessary, because the only occurrence of ipu_plane_dpms() with 'mode' not being DRM_MODE_DPMS_ON is in function ipu_disable_plane(), which already has a ipu_plane_put_resources() call to put those ipu resources right after ipu_plane_dpms(). So with those redundant ipu_*_put() calls removed from ipu_plane_dpms(), the only left code in the function is ipu_plane_enable|disable(). Thus, we can just call ipu_plane_enable|disable() as needed directly and remove the ipu_plane_dpms() function completely. Suggested-by: Philipp Zabel p.za...@pengutronix.de Signed-off-by: Shawn Guo shawn@freescale.com --- Greg, This cleanup patch is based on Russell's fix -'imx-drm: ipuv3-plane: fix ipu_plane_dpms()'. Shawn drivers/staging/imx-drm/ipuv3-plane.c | 29 - 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/drivers/staging/imx-drm/ipuv3-plane.c b/drivers/staging/imx-drm/ipuv3-plane.c index 50de10a550e9..06a0cb9c6b26 100644 --- a/drivers/staging/imx-drm/ipuv3-plane.c +++ b/drivers/staging/imx-drm/ipuv3-plane.c @@ -263,29 +263,6 @@ void ipu_plane_disable(struct ipu_plane *ipu_plane) ipu_dp_disable(ipu_plane-ipu); } -static void ipu_plane_dpms(struct ipu_plane *ipu_plane, int mode) -{ - bool enable; - - DRM_DEBUG_KMS(mode = %d, mode); - - enable = (mode == DRM_MODE_DPMS_ON); - - if (enable == ipu_plane-enabled) - return; - - if (enable) { - ipu_plane_enable(ipu_plane); - } else { - ipu_plane_disable(ipu_plane); - - ipu_idmac_put(ipu_plane-ipu_ch); - ipu_dmfc_put(ipu_plane-dmfc); - if (ipu_plane-dp) - ipu_dp_put(ipu_plane-dp); - } -} - /* * drm_plane API */ @@ -319,7 +296,8 @@ static int ipu_update_plane(struct drm_plane *plane, struct drm_crtc *crtc, plane-crtc, crtc); plane-crtc = crtc; - ipu_plane_dpms(ipu_plane, DRM_MODE_DPMS_ON); + if (!ipu_plane-enabled) + ipu_plane_enable(ipu_plane); return 0; } @@ -330,7 +308,8 @@ static int ipu_disable_plane(struct drm_plane *plane) DRM_DEBUG_KMS([%d] %s\n, __LINE__, __func__); - ipu_plane_dpms(ipu_plane, DRM_MODE_DPMS_OFF); + if (ipu_plane-enabled) + ipu_plane_disable(ipu_plane); ipu_plane_put_resources(ipu_plane); -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH RESEND] imx-drm: imx-drm-core: add basic suspend/resume support
HDMI currently stops working after a system suspend/resume cycle. The cause is that the mode setting states in hardware gets lost and isn't restored across the suspend/resume cycle. The patch adds a very basic suspend/resume support to imx-drm driver, and calls drm_helper_resume_force_mode() in .resume hook to restore the mode setting states, so that HDMI can continue working after a system suspend/resume cycle. Since the suspend/resume hook can be called with drm_device pointer being NULL from driver data, we need a check on the pointer in the hooks. And to avoid using a stale pointer from driver data, it also clears driver data in .unload hook. Signed-off-by: Shawn Guo shawn@freescale.com --- Greg, This is a resend of '[PATCH v3] imx-drm: imx-drm-core: add suspend/resume support' [1], with a tiny change on the subject only. Shawn [1] http://thread.gmane.org/gmane.linux.ports.arm.kernel/349360 drivers/staging/imx-drm/imx-drm-core.c | 33 + 1 file changed, 33 insertions(+) diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c index 6b22106534d8..41ff896d2ca9 100644 --- a/drivers/staging/imx-drm/imx-drm-core.c +++ b/drivers/staging/imx-drm/imx-drm-core.c @@ -87,6 +87,8 @@ static int imx_drm_driver_unload(struct drm_device *drm) drm_vblank_cleanup(drm); drm_mode_config_cleanup(drm); + platform_set_drvdata(drm-platformdev, NULL); + return 0; } @@ -647,6 +649,36 @@ static int imx_drm_platform_remove(struct platform_device *pdev) return 0; } +#ifdef CONFIG_PM_SLEEP +static int imx_drm_suspend(struct device *dev) +{ + struct drm_device *drm_dev = dev_get_drvdata(dev); + + /* The drm_dev is NULL before .load hook is called */ + if (drm_dev == NULL) + return 0; + + drm_kms_helper_poll_disable(drm_dev); + + return 0; +} + +static int imx_drm_resume(struct device *dev) +{ + struct drm_device *drm_dev = dev_get_drvdata(dev); + + if (drm_dev == NULL) + return 0; + + drm_helper_resume_force_mode(drm_dev); + drm_kms_helper_poll_enable(drm_dev); + + return 0; +} +#endif + +static SIMPLE_DEV_PM_OPS(imx_drm_pm_ops, imx_drm_suspend, imx_drm_resume); + static const struct of_device_id imx_drm_dt_ids[] = { { .compatible = fsl,imx-display-subsystem, }, { /* sentinel */ }, @@ -659,6 +691,7 @@ static struct platform_driver imx_drm_pdrv = { .driver = { .owner = THIS_MODULE, .name = imx-drm, + .pm = imx_drm_pm_ops, .of_match_table = imx_drm_dt_ids, }, }; -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 0/2] Two imx-drm oops fixes
On Mon, Sep 08, 2014 at 12:09:49PM -0700, Greg Kroah-Hartman wrote: On Mon, Sep 08, 2014 at 12:08:59PM -0700, Greg Kroah-Hartman wrote: On Mon, Sep 01, 2014 at 06:07:12PM +0100, Russell King - ARM Linux wrote: Greg, Here's two oops fixes for imx-drm, which I've had queued up for a number of months now. Shawn posted different fixes for the same oops recently as well. So do I take your patches, or Shawn's? Actually, yours are smaller, so I'll defer to you and take yours... Greg, My patch is bigger than Russell's because I cleaned up the code a little bit along the way of fixing the bug. I will send you the cleanup as an incremental patch based on Russell's fixes. Shawn ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v14 05/10] ARM: dts: imx5*, imx6*: correct display-timings nodes.
On Tue, Jun 24, 2014 at 04:01:58PM +0100, Russell King - ARM Linux wrote: On Mon, Jun 16, 2014 at 12:11:19PM +0200, Denis Carikli wrote: The imx-drm driver can't use the de-active and pixelclk-active display-timings properties yet. Instead the data-enable and the pixel data clock polarity are hardcoded in the imx-drm driver. So theses properties are now set to keep the same behaviour when imx-drm will start using them. Signed-off-by: Denis Carikli de...@eukrea.com This patch needs either an ack from the arm-soc/iMX maintainers, or they need to merge it. As there's little positive agreement on the series, I can understand why there's reluctance to merge it. So, can we start having some acks from people please, or at least commitments to merge this patch when the others are deemed to be acceptable. If not, can we have explanations why this should not be merged. I will be happy to merge dts change through IMX tree once the binding/diver part gets accepted/applied. Shawn ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] imx-drm: imx-hdmi: fix hdmi hotplug detection initial state
On Mon, Jun 09, 2014 at 11:29:28AM -0300, Fabio Estevam wrote: On Mon, Jun 9, 2014 at 11:06 AM, Russell King - ARM Linux li...@arm.linux.org.uk wrote: Please check the status in /sys/class/drm/card0-HDMI-A-1/status. This should report the current state of the hotplug detection. /sys/class/drm/card0-HDMI-A-1/status returns the correct state for HDMI cable connection. Remember that this code detects off the HPD signal - if the HPD signal has not been correctly wired up, this patch is not going to help (really it comes down to a hardware fault, which I'm not trying to solve with this patch.) What I'm trying to resolve with this patch is that the state detected on properly wired up systems corresponds with the real initial state of the interface at initialisation time. The problem with the current code is that we start off assuming that the interface is disconnected, and we rely on an interrupt arriving to change that state. If for whatever reason that interrupt does not arrive, then, even if the HPD signal is active, we continue believing that the interface is not connected. I seem to remember discussion in the past that the HPD signal is not wired up on SabreSD. Really, this needs to be a DT flag to indicate It is sabrelite board that does not have HPD signal not wired up. sabresd does have HPD signal connected. The HDMI undetected issue I am seeing on sabresd seems to be related to the simultaneous usage of HDMI and LVDS. If I remove the ldb node from the imx6qdl-sabresd.dtsi, then the HDMI cable is correctly detected and HDMI is shown right after boot. This is a known limitation. http://thread.gmane.org/gmane.linux.ports.arm.kernel/315968/focus=318559 Shawn ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v12][ 06/12] ARM: dts: imx5*, imx6*: correct display-timings nodes.
On Mon, Apr 07, 2014 at 02:44:45PM +0200, Denis Carikli wrote: The imx-drm driver can't use the de-active and pixelclk-active display-timings properties yet. Instead the data-enable and the pixel data clock polarity are hardcoded in the imx-drm driver. So theses properties are now set to keep the same behaviour when imx-drm will start using them. Signed-off-by: Denis Carikli de...@eukrea.com --- ChangeLog v9-v10: - New patch that was splitted out of: staging imx-drm: Use de-active and pixelclk-active display-timings. --- arch/arm/boot/dts/imx51-babbage.dts |2 ++ arch/arm/boot/dts/imx53-m53evk.dts|2 ++ arch/arm/boot/dts/imx53-tx53-x03x.dts |2 +- arch/arm/boot/dts/imx6qdl-gw53xx.dtsi |2 ++ arch/arm/boot/dts/imx6qdl-gw54xx.dtsi |2 ++ arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi |2 ++ arch/arm/boot/dts/imx6qdl-sabreauto.dtsi |2 ++ arch/arm/boot/dts/imx6qdl-sabrelite.dtsi |2 ++ arch/arm/boot/dts/imx6qdl-sabresd.dtsi|2 ++ 9 files changed, 17 insertions(+), 1 deletion(-) ... diff --git a/arch/arm/boot/dts/imx53-tx53-x03x.dts b/arch/arm/boot/dts/imx53-tx53-x03x.dts index 0217dde3..4092a81 100644 --- a/arch/arm/boot/dts/imx53-tx53-x03x.dts +++ b/arch/arm/boot/dts/imx53-tx53-x03x.dts @@ -93,7 +93,7 @@ hsync-active = 0; vsync-active = 0; de-active = 1; - pixelclk-active = 1; + pixelclk-active = 0; @Lothar, is this change correct? Shawn }; ET0500 { ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v12][ 12/12] ARM: imx_v6_v7_defconfig: Add more drm drivers.
On Mon, Apr 07, 2014 at 02:44:51PM +0200, Denis Carikli wrote: The DRM_PANEL_SIMPLE is needed by the eukrea mbimxsd51's displays. Signed-off-by: Denis Carikli de...@eukrea.com Applied, thanks. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v5 00/11] imx-drm dt bindings
On Tue, Mar 11, 2014 at 11:46:11AM +0800, Shawn Guo wrote: I just came across a couple problems when testing the series on my imx6dl-sabresd board in dual display case - HDMI + LVDS. I tested it using Russell's branch below, which I believe has all the pieces put together. git://ftp.arm.linux.org.uk/~rmk/linux-arm.git imx-drm-staging - When I enable HDMI and LVDS support in both kernel build and device tree, HDMI seems working fine but LVDS color is corrupted quite badly. Philipp, Did you get any chance to reproduce this dual display issue? Now it shows on mainline kernel. And I see another HDMI regression with my testing on mainline kernel. I can have my HDMI work at 1920x1080 with v3.14 kernel, but it can only probes 1024x768 with the mainline today. The Xorg.0.log are attached below. The hardware and user space are same, so I guess this is another issue introduced by the recently kernel driver changes? Shawn mainline kernel === [20.606] (II) LoadModule: modesetting [20.607] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so [20.609] (II) Module modesetting: vendor=X.Org Foundation [20.609]compiled for 1.12.1.902, module version = 0.3.0 [20.610]Module class: X.Org Video Driver [20.610]ABI class: X.Org Video Driver, version 12.0 [20.610] (II) modesetting: Driver for Modesetting Kernel Drivers: kms [20.610] (++) using VT number 7 [20.624] (WW) Falling back to old probe method for modesetting [20.624] (II) modesetting(0): using default device [20.627] (II) modesetting(0): Creating default Display subsection in Screen section Default Screen Section for depth/fbbpp 24/32 [20.627] (==) modesetting(0): Depth 24, (==) framebuffer bpp 32 [20.628] (==) modesetting(0): RGB weight 888 [20.628] (==) modesetting(0): Default visual is TrueColor [20.628] (II) modesetting(0): ShadowFB: preferred NO, enabled NO [20.628] (II) modesetting(0): Output HDMI-0 has no monitor section [20.629] (II) modesetting(0): EDID for output HDMI-0 [20.629] (II) modesetting(0): Printing probed modes for output HDMI-0 [20.629] (II) modesetting(0): Modeline 1024x768x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e) [20.629] (II) modesetting(0): Modeline 800x600x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e) [20.629] (II) modesetting(0): Modeline 800x600x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e) [20.630] (II) modesetting(0): Modeline 848x480x60.0 33.75 848 864 976 1088 480 486 494 517 +hsync +vsync (31.0 kHz e) [20.630] (II) modesetting(0): Modeline 640x480x59.9 25.18 640 656 752 800 480 489 492 525 -hsync -vsync (31.5 kHz e) [20.630] (II) modesetting(0): Output HDMI-0 connected [20.630] (II) modesetting(0): Using exact sizes for initial modes [20.630] (II) modesetting(0): Output HDMI-0 using initial mode 1024x768 [20.630] (II) modesetting(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated. [20.630] (==) modesetting(0): DPI set to (96, 96) v3.14 kernel [20.214] (II) LoadModule: modesetting [20.215] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so [20.217] (II) Module modesetting: vendor=X.Org Foundation [20.217]compiled for 1.12.1.902, module version = 0.3.0 [20.217]Module class: X.Org Video Driver [20.217]ABI class: X.Org Video Driver, version 12.0 [20.217] (II) modesetting: Driver for Modesetting Kernel Drivers: kms [20.217] (++) using VT number 7 [20.240] (WW) Falling back to old probe method for modesetting [20.241] (II) modesetting(0): using default device [20.241] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support [20.244] (II) modesetting(0): Creating default Display subsection in Screen section Default Screen Section for depth/fbbpp 24/32 [20.244] (==) modesetting(0): Depth 24, (==) framebuffer bpp 32 [20.244] (==) modesetting(0): RGB weight 888 [20.244] (==) modesetting(0): Default visual is TrueColor [20.244] (II) modesetting(0): ShadowFB: preferred NO, enabled NO [20.282] (II) modesetting(0): Output HDMI-0 has no monitor section [20.329] (II) modesetting(0): EDID for output HDMI-0 [20.330] (II) modesetting(0): Manufacturer: RAW Model: 0 Serial#: 1 [20.330] (II) modesetting(0): Year: 2012 Week: 6 [20.330] (II) modesetting(0): EDID Version: 1.3 [20.331] (II) modesetting(0): Digital Display Input [20.331] (II) modesetting(0): Indeterminate output size [20.331] (II) modesetting(0): Gamma: 2.20 [20.331] (II) modesetting(0): No DPMS capabilities specified [20.331] (II) modesetting(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4 [20.332] (II) modesetting(0): First detailed timing is preferred mode [20.332] (II) modesetting(0): redX: 0.636 redY: 0.349
Re: [PATCH v5 00/11] imx-drm dt bindings
On Tue, Mar 11, 2014 at 12:42:08PM +0100, Philipp Zabel wrote: Hi Shawn, Am Dienstag, den 11.03.2014, 11:46 +0800 schrieb Shawn Guo: On Wed, Mar 05, 2014 at 10:20:51AM +0100, Philipp Zabel wrote: Hi, this latest version of the imx-drm DT binding patches applies on top of staging-next and also depends on the OF graph binding patchset that moves the v4l2_of helpers to drivers/of. Currently, the two patchsets are also available at: git://git.pengutronix.de/git/pza/linux.git topic/of-graph git://git.pengutronix.de/git/pza/linux.git topic/imx-drm-dt Hi Philipp, I just came across a couple problems when testing the series on my imx6dl-sabresd board in dual display case - HDMI + LVDS. I tested it using Russell's branch below, which I believe has all the pieces put together. git://ftp.arm.linux.org.uk/~rmk/linux-arm.git imx-drm-staging - When I enable HDMI and LVDS support in both kernel build and device tree, HDMI seems working fine but LVDS color is corrupted quite badly. - When I enable HDMI and LVDS support in kernel build but only LVDS in device tree (keep HDMI disabled in device tree by not changing 'status' of HDMI node to 'okay'), LVDS does not even work. In this case, it seems that the binding of display-subsystem does not succeed. Can you check if you get the bound messages from drivers/base/component.c: imx-drm display-subsystem.11: bound imx-ipuv3-crtc.0 (ops ipu_crtc_ops) imx-drm display-subsystem.11: bound imx-ipuv3-crtc.1 (ops ipu_crtc_ops) imx-drm display-subsystem.11: bound ldb.10 (ops imx_ldb_ops) I have tried this branch with a Phytec phyFLEX i.MX6S on PBAB01 baseboard with EDT 800x480 LVDS panel, and it seems to work. The check in drivers/staging/imx-drm/imx-drm-core.c:675 should make sure that unavailable (status=disabled) devices are just skipped. Sorry, Philipp. The setup in my report is incorrect. The correct setup to see this issue consists of: 1) build a kernel without HDMI support, i.e. !CONFIG_DRM_IMX_HDMI 2) enable HDMI device in DT, i.e. adding the lines below in board dts. hdmi { status = okay; }; Sorry for the confusion. Shawn ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v5 00/11] imx-drm dt bindings
On Tue, Mar 11, 2014 at 02:34:38PM +0100, Lucas Stach wrote: Sorry, Philipp. The setup in my report is incorrect. The correct setup to see this issue consists of: 1) build a kernel without HDMI support, i.e. !CONFIG_DRM_IMX_HDMI 2) enable HDMI device in DT, i.e. adding the lines below in board dts. hdmi { status = okay; }; Sorry for the confusion. This isn't a supported use-case, the componentized device stuff is there exactly to ensure that the DRM device is only brought up after all active components have an driver attached to them. Ah, yes. I was in the impression that LVDS should still work in this setup, but that was the case before Philipp's series. In Russell's original imx-drm setup, LVDS still works even if I enable the HDMI device in DT, as long as I do not reference it from 'connectors'. imx_drm: imx-drm { compatible = fsl,imx-drm; crtcs = ipu1 0, ipu1 1; connectors = ldb; }; Thanks for the clarification. Shawn ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v5 00/11] imx-drm dt bindings
On Wed, Mar 05, 2014 at 10:20:51AM +0100, Philipp Zabel wrote: Hi, this latest version of the imx-drm DT binding patches applies on top of staging-next and also depends on the OF graph binding patchset that moves the v4l2_of helpers to drivers/of. Currently, the two patchsets are also available at: git://git.pengutronix.de/git/pza/linux.git topic/of-graph git://git.pengutronix.de/git/pza/linux.git topic/imx-drm-dt Hi Philipp, I just came across a couple problems when testing the series on my imx6dl-sabresd board in dual display case - HDMI + LVDS. I tested it using Russell's branch below, which I believe has all the pieces put together. git://ftp.arm.linux.org.uk/~rmk/linux-arm.git imx-drm-staging - When I enable HDMI and LVDS support in both kernel build and device tree, HDMI seems working fine but LVDS color is corrupted quite badly. - When I enable HDMI and LVDS support in kernel build but only LVDS in device tree (keep HDMI disabled in device tree by not changing 'status' of HDMI node to 'okay'), LVDS does not even work. In this case, it seems that the binding of display-subsystem does not succeed. Please confirm if they are real problems or I'm missing something here. Shawn ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH RFC v2 00/35] Second preview of imx-drm cleanup series
On Mon, Feb 10, 2014 at 12:28:03PM +, Russell King - ARM Linux wrote: This is the latest revision of my series cleaning up imx-drm and hopefully getting it ready to be moved out of drivers/staging. This series is updated to v3.14-rc2. Since the last round of patches were posted, the component support has been merged into mainline, and thus dropped from this series. Greg has taken the first three patches and merged them into his linux-next tree - however, I include them here for completness. Most of the comments from last time still apply, and I'll look at incorporating some of the other patches that were posted in the coming week. If I can have some acks for this, I'll start sending some of it to Greg - I'd like to at least get the five or six initial imx-hdmi patches to Greg and queued up for the next merge window sooner rather than later, preferably getting most of this ready for that window too. For the series, Acked-by: Shawn Guo shawn@linaro.org ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [RFC PATCH v2] staging: imx-hdmi: use rx sense status for plug detection if hpd is unreliable
On Fri, Jan 10, 2014 at 03:22:24PM +0100, Philipp Zabel wrote: Due to the voltage divider on the HPD line, the HDMI connector on imx6q-sabrelite doesn't reliably detect connected DVI monitors. This patch allows to use the RX_SENSE0 signal as a workaround when enabled by a boolean device tree property 'hpd-unreliable'. If it's a fsl/imx specific property, it should have a 'fsl,' prefix. It should be added into binding doc. Oh, we do not even have a binding doc for this imx-hdmi yet. Shawn Signed-off-by: Philipp Zabel p.za...@pengutronix.de --- This patch is based on Russell's recent 46-patch imx-drm cleanup series. Changes since v1: - Store the status and polarity bits in struct imx_hdmi --- drivers/staging/imx-drm/imx-hdmi.c | 36 ++-- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/drivers/staging/imx-drm/imx-hdmi.c b/drivers/staging/imx-drm/imx-hdmi.c index fb3177d..62cb531 100644 --- a/drivers/staging/imx-drm/imx-hdmi.c +++ b/drivers/staging/imx-drm/imx-hdmi.c @@ -140,6 +140,9 @@ struct imx_hdmi { struct regmap *regmap; struct i2c_adapter *ddc; void __iomem *regs; + u8 sink_detect_polarity; + u8 sink_detect_status; + u8 sink_detect_mask; unsigned int sample_rate; int ratio; @@ -1317,10 +1320,10 @@ static int imx_hdmi_fb_registered(struct imx_hdmi *hdmi) HDMI_PHY_I2CM_CTLINT_ADDR); /* enable cable hot plug irq */ - hdmi_writeb(hdmi, (u8)~HDMI_PHY_HPD, HDMI_PHY_MASK0); + hdmi_writeb(hdmi, hdmi-sink_detect_mask, HDMI_PHY_MASK0); /* Clear Hotplug interrupts */ - hdmi_writeb(hdmi, HDMI_IH_PHY_STAT0_HPD, HDMI_IH_PHY_STAT0); + hdmi_writeb(hdmi, hdmi-sink_detect_status, HDMI_IH_PHY_STAT0); return 0; } @@ -1392,6 +1395,7 @@ static enum drm_connector_status imx_hdmi_connector_detect(struct drm_connector { struct imx_hdmi *hdmi = container_of(connector, struct imx_hdmi, connector); + return hdmi-connector_status; } @@ -1530,18 +1534,20 @@ static irqreturn_t imx_hdmi_irq(int irq, void *dev_id) phy_int_pol = hdmi_readb(hdmi, HDMI_PHY_POL0); - if (intr_stat HDMI_IH_PHY_STAT0_HPD) { - if (phy_int_pol HDMI_PHY_HPD) { + if (intr_stat hdmi-sink_detect_status) { + int pol_bit = hdmi-sink_detect_polarity; + + if (phy_int_pol pol_bit) { dev_dbg(hdmi-dev, EVENT=plugin\n); - hdmi_modb(hdmi, 0, HDMI_PHY_HPD, HDMI_PHY_POL0); + hdmi_modb(hdmi, 0, pol_bit, HDMI_PHY_POL0); hdmi-connector_status = connector_status_connected; imx_hdmi_poweron(hdmi); } else { dev_dbg(hdmi-dev, EVENT=plugout\n); - hdmi_modb(hdmi, HDMI_PHY_HPD, HDMI_PHY_HPD, HDMI_PHY_POL0); + hdmi_modb(hdmi, pol_bit, pol_bit, HDMI_PHY_POL0); hdmi-connector_status = connector_status_disconnected; imx_hdmi_poweroff(hdmi); @@ -1550,7 +1556,7 @@ static irqreturn_t imx_hdmi_irq(int irq, void *dev_id) } hdmi_writeb(hdmi, intr_stat, HDMI_IH_PHY_STAT0); - hdmi_writeb(hdmi, ~HDMI_IH_PHY_STAT0_HPD, HDMI_IH_MUTE_PHY_STAT0); + hdmi_writeb(hdmi, ~hdmi-sink_detect_status, HDMI_IH_MUTE_PHY_STAT0); return IRQ_HANDLED; } @@ -1702,14 +1708,24 @@ static int imx_hdmi_bind(struct device *dev, struct device *master, void *data) */ hdmi_init_clk_regenerator(hdmi); + hdmi-sink_detect_status = HDMI_IH_PHY_STAT0_HPD; + hdmi-sink_detect_polarity = HDMI_PHY_HPD; + hdmi-sink_detect_mask = ~HDMI_PHY_HPD; + + if (of_property_read_bool(np, hpd-unreliable)) { + hdmi-sink_detect_status = HDMI_IH_PHY_STAT0_RX_SENSE0; + hdmi-sink_detect_polarity = HDMI_PHY_RX_SENSE0; + hdmi-sink_detect_mask = ~HDMI_PHY_RX_SENSE0; + } + /* * Configure registers related to HDMI interrupt * generation before registering IRQ. */ - hdmi_writeb(hdmi, HDMI_PHY_HPD, HDMI_PHY_POL0); + hdmi_writeb(hdmi, hdmi-sink_detect_polarity, HDMI_PHY_POL0); /* Clear Hotplug interrupts */ - hdmi_writeb(hdmi, HDMI_IH_PHY_STAT0_HPD, HDMI_IH_PHY_STAT0); + hdmi_writeb(hdmi, hdmi-sink_detect_status, HDMI_IH_PHY_STAT0); ret = imx_hdmi_fb_registered(hdmi); if (ret) @@ -1720,7 +1736,7 @@ static int imx_hdmi_bind(struct device *dev, struct device *master, void *data) goto err_iahb; /* Unmute interrupts */ - hdmi_writeb(hdmi, ~HDMI_IH_PHY_STAT0_HPD, HDMI_IH_MUTE_PHY_STAT0); + hdmi_writeb(hdmi, ~hdmi-sink_detect_status, HDMI_IH_MUTE_PHY_STAT0); ret = snd_dw_hdmi_probe(hdmi-audio, dev, hdmi-regs, irq, hdmi); if (ret)
Re: [PATCH RFC 24/46] imx-drm: provide common connector mode validation function
On Thu, Jan 02, 2014 at 09:27:48PM +, Russell King wrote: diff --git a/drivers/staging/imx-drm/imx-drm.h b/drivers/staging/imx-drm/imx-drm.h index 5649f180dc44..4eb594ce9cff 100644 --- a/drivers/staging/imx-drm/imx-drm.h +++ b/drivers/staging/imx-drm/imx-drm.h @@ -68,4 +68,7 @@ int imx_drm_encoder_get_mux_id(struct drm_encoder *encoder); int imx_drm_encoder_add_possible_crtcs(struct imx_drm_encoder *imx_drm_encoder, struct device_node *np); +int imx_drm_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode); + #endif /* _IMX_DRM_H_ */ CC drivers/staging/imx-drm/ipu-v3/ipu-dc.o LD net/ethernet/built-in.o In file included from drivers/staging/imx-drm/ipu-v3/ipu-dc.c:23:0: drivers/staging/imx-drm/ipu-v3/../imx-drm.h:56:9: warning: ‘struct drm_display_mode’ declared inside parameter list [enabled by default] drivers/staging/imx-drm/ipu-v3/../imx-drm.h:56:9: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] Shawn ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH RFC 30/46] imx-drm: remove separate imx-fbdev
On Thu, Jan 02, 2014 at 09:28:19PM +, Russell King wrote: @@ -449,6 +458,24 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags) } } + /* + * All components are now initialised, so setup the fb helper. + * The fb helper takes copies of key hardware information, so the + * crtcs/connectors/encoders must not change after this point. + */ +#if IS_ENABLED(CONFIG_DRM_IMX_FB_HELPER) + if (legacyfb_depth != 16 legacyfb_depth != 32) { + dev_warn(drm-dev, Invalid legacyfb_depth. Defaulting to 16bpp\n); + legacyfb_depth = 16; + } + imxdrm-fbhelper = drm_fbdev_cma_init(drm, legacyfb_depth, + drm-mode_config.num_crtc, 4); s/4/MAX_CRTC imx-drm-core.c has the macro. Shawn + if (IS_ERR(imxdrm-fbhelper)) { + ret = PTR_ERR(imxdrm-fbhelper); + imxdrm-fbhelper = NULL; + goto err_unbind; + } +#endif return 0; err_unbind: ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/3] imx-drm: imx-drm-core: avoid going the long route round for drm_device
On Tue, Dec 17, 2013 at 07:10:47PM +, Russell King wrote: We have the drm_device available, so rather than storing it and then using the stored version, us the one we already have available to us. Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk --- drivers/staging/imx-drm/imx-drm-core.c | 16 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c index 9aa5eaab6539..242e8db218ac 100644 --- a/drivers/staging/imx-drm/imx-drm-core.c +++ b/drivers/staging/imx-drm/imx-drm-core.c @@ -88,9 +88,9 @@ static int imx_drm_driver_unload(struct drm_device *drm) imx_drm_device_put(); - drm_vblank_cleanup(imxdrm-drm); - drm_kms_helper_poll_fini(imxdrm-drm); - drm_mode_config_cleanup(imxdrm-drm); + drm_vblank_cleanup(drm); + drm_kms_helper_poll_fini(drm); + drm_mode_config_cleanup(drm); With the changes, 'imxdrm' in this function becomes an unused variable. Other than that, for the series: Acked-by: Shawn Guo shawn@linaro.org Tested-by: Shawn Guo shawn@linaro.org Shawn return 0; } @@ -424,15 +424,15 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags) mutex_lock(imxdrm-mutex); - drm_kms_helper_poll_init(imxdrm-drm); + drm_kms_helper_poll_init(drm); /* setup the grouping for the legacy output */ - ret = drm_mode_group_init_legacy_group(imxdrm-drm, - imxdrm-drm-primary-mode_group); + ret = drm_mode_group_init_legacy_group(drm, + drm-primary-mode_group); if (ret) goto err_kms; - ret = drm_vblank_init(imxdrm-drm, MAX_CRTC); + ret = drm_vblank_init(drm, MAX_CRTC); if (ret) goto err_kms; @@ -441,7 +441,7 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags) * by drm timer once a current process gives up ownership of * vblank event.(after drm_vblank_put function is called) */ - imxdrm-drm-vblank_disable_allowed = true; + drm-vblank_disable_allowed = true; if (!imx_drm_device_get()) { ret = -EINVAL; -- 1.7.4.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/4] imx-drm: fix missing symbol exports
On Mon, Dec 16, 2013 at 11:34:05AM +, Russell King wrote: Trying to build a modular imx-drm results in a number of missing symbol exports, caused by the recent changes to this driver. Add the necessary exports, and the missing MODULE_LICENSE() tag. Since commit 9c74360 (staging: imx-drm: Fix modular build of DRM_IMX_IPUV3) is in place now, I'm not sure if we still need this patch. Shawn Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk --- drivers/staging/imx-drm/ipuv3-plane.c | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/drivers/staging/imx-drm/ipuv3-plane.c b/drivers/staging/imx-drm/ipuv3-plane.c index d97454a0dffd..745fc8171df0 100644 --- a/drivers/staging/imx-drm/ipuv3-plane.c +++ b/drivers/staging/imx-drm/ipuv3-plane.c @@ -40,6 +40,7 @@ int ipu_plane_irq(struct ipu_plane *ipu_plane) return ipu_idmac_channel_irq(ipu_plane-ipu, ipu_plane-ipu_ch, IPU_IRQ_EOF); } +EXPORT_SYMBOL_GPL(ipu_plane_irq); static int calc_vref(struct drm_display_mode *mode) { @@ -81,6 +82,7 @@ int ipu_plane_set_base(struct ipu_plane *ipu_plane, struct drm_framebuffer *fb, return 0; } +EXPORT_SYMBOL_GPL(ipu_plane_set_base); int ipu_plane_mode_set(struct ipu_plane *ipu_plane, struct drm_crtc *crtc, struct drm_display_mode *mode, @@ -184,6 +186,7 @@ int ipu_plane_mode_set(struct ipu_plane *ipu_plane, struct drm_crtc *crtc, return 0; } +EXPORT_SYMBOL_GPL(ipu_plane_mode_set); void ipu_plane_put_resources(struct ipu_plane *ipu_plane) { @@ -194,6 +197,7 @@ void ipu_plane_put_resources(struct ipu_plane *ipu_plane) if (!IS_ERR_OR_NULL(ipu_plane-ipu_ch)) ipu_idmac_put(ipu_plane-ipu_ch); } +EXPORT_SYMBOL_GPL(ipu_plane_put_resources); int ipu_plane_get_resources(struct ipu_plane *ipu_plane) { @@ -228,6 +232,7 @@ int ipu_plane_get_resources(struct ipu_plane *ipu_plane) return ret; } +EXPORT_SYMBOL_GPL(ipu_plane_get_resources); void ipu_plane_enable(struct ipu_plane *ipu_plane) { @@ -238,6 +243,7 @@ void ipu_plane_enable(struct ipu_plane *ipu_plane) ipu_plane-enabled = true; } +EXPORT_SYMBOL_GPL(ipu_plane_enable); void ipu_plane_disable(struct ipu_plane *ipu_plane) { @@ -250,6 +256,7 @@ void ipu_plane_disable(struct ipu_plane *ipu_plane) ipu_idmac_disable_channel(ipu_plane-ipu_ch); ipu_dmfc_disable_channel(ipu_plane-dmfc); } +EXPORT_SYMBOL_GPL(ipu_plane_disable); static void ipu_plane_dpms(struct ipu_plane *ipu_plane, int mode) { @@ -373,3 +380,6 @@ struct ipu_plane *ipu_plane_init(struct drm_device *dev, struct ipu_soc *ipu, return ipu_plane; } +EXPORT_SYMBOL_GPL(ipu_plane_init); + +MODULE_LICENSE(GPL); -- 1.7.4.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 0/8] Fix some bugs/races in imx-drm
On Mon, Dec 16, 2013 at 12:38:23PM +, Russell King - ARM Linux wrote: Russell King (8): imx-drm: imx-drm-core: fix error cleanup path for imx_drm_add_crtc() imx-drm: imx-drm-core: fix DRM cleanup paths imx-drm: fix missing symbol exports Except the little doubt I replied on this one, for the whole series: Acked-by: Shawn Guo shawn@linaro.org Tested-by: Shawn Guo shawn@linaro.org imx-drm: ipu-v3: fix potential CRTC device registration race imx-drm: imx-tve: don't call sleeping functions beneath enable_lock spinlo imx-drm: imx-drm-core: use defined constant for number of CRTCs. imx-drm: imx-drm-core: make imx_drm_crtc_register() safer imx-drm: imx-drm-core: improve safety of imx_drm_add_crtc() ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/3] drm: Add LCD display clock polarity flags
On Mon, Dec 02, 2013 at 04:39:26PM +0100, Marek Vasut wrote: Add DRM flags for the LCD display clock polarity so the pixelclk-active DT property can be properly handled by drivers using the DRM API. Signed-off-by: Marek Vasut ma...@denx.de Cc: Dave Airlie airl...@gmail.com Cc: Greg Kroah-Hartman gre...@linuxfoundation.org Cc: Philipp Zabel p.za...@pengutronix.de Cc: Sascha Hauer s.ha...@pengutronix.de Cc: Shawn Guo shawn@linaro.org --- drivers/gpu/drm/drm_modes.c | 5 + include/uapi/drm/drm_mode.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c index 85071a1..d1f3bfc 100644 --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c @@ -537,6 +537,11 @@ int drm_display_mode_from_videomode(const struct videomode *vm, dmode-flags |= DRM_MODE_FLAG_DBLSCAN; if (vm-flags DISPLAY_FLAGS_DOUBLECLK) dmode-flags |= DRM_MODE_FLAG_DBLCLK; + if (vm-flags DISPLAY_FLAGS_PIXDATA_POSEDGE) + dmode-flags |= DRM_MODE_FLAG_PIXELCLK_PPOL; + else if (vm-flags DISPLAY_FLAGS_PIXDATA_NEGEDGE) + dmode-flags |= DRM_MODE_FLAG_PIXELCLK_NPOL; + drm_mode_set_name(dmode); return 0; diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h index f104c26..a6169ca 100644 --- a/include/uapi/drm/drm_mode.h +++ b/include/uapi/drm/drm_mode.h @@ -73,6 +73,9 @@ #define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM (714) #define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF (814) +/* CRTC LCD clock polarity flags. */ +#define DRM_MODE_FLAG_PIXELCLK_PPOL (119) +#define DRM_MODE_FLAG_PIXELCLK_NPOL (120) Marek, It looks that Denis (copied) is working on the same problem, so you may want to be aware of his effort [1][2]. Shawn [1] http://thread.gmane.org/gmane.linux.drivers.driver-project.devel/42832 [2] http://thread.gmane.org/gmane.linux.drivers.driver-project.devel/42850/focus=279646 /* DPMS flags */ /* bit compatible with the xorg definitions. */ -- 1.8.4.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel