diff options
author | Dave Airlie <airlied@redhat.com> | 2018-07-26 22:20:04 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2018-07-26 22:20:10 -0400 |
commit | a6f6cdefd408f4ab74060538931241a95fc2362b (patch) | |
tree | 6b1c72ad2cfef97a8c0f57386dcbba9f48680582 /drivers/gpu/drm/imx/imx-ldb.c | |
parent | 500775074f88d9cf5416bed2ca19592812d62c41 (diff) | |
parent | 81f2b25adddeff2fc7fdd1f23f889d018ba65466 (diff) |
Merge tag 'imx-drm-next-2018-07-20' of git://git.pengutronix.de/git/pza/linux into drm-next
drm/imx: cleanup and csi improvements
- Remove the unused struct imx_drm_crtc and the unused pipes field
from imx_drm_device and replace drm_dev_unref with drm_dev_put.
- Extend CSI configuration to support RGB888 and BGR888 capture,
as well as 16-bit RGB565 capture via a parallel bus.
- Add CPMEM support for negative interlace offsets, which is
necessary to support writing captured bottom-top interlaced
fields to memory with interleaved lines.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1532100583.3438.9.camel@pengutronix.de
Diffstat (limited to 'drivers/gpu/drm/imx/imx-ldb.c')
-rw-r--r-- | drivers/gpu/drm/imx/imx-ldb.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index 7312beb6f1fc..3bd0f8a18e74 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c | |||
@@ -611,6 +611,9 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data) | |||
611 | return PTR_ERR(imx_ldb->regmap); | 611 | return PTR_ERR(imx_ldb->regmap); |
612 | } | 612 | } |
613 | 613 | ||
614 | /* disable LDB by resetting the control register to POR default */ | ||
615 | regmap_write(imx_ldb->regmap, IOMUXC_GPR2, 0); | ||
616 | |||
614 | imx_ldb->dev = dev; | 617 | imx_ldb->dev = dev; |
615 | 618 | ||
616 | if (of_id) | 619 | if (of_id) |
@@ -651,14 +654,14 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data) | |||
651 | if (ret || i < 0 || i > 1) | 654 | if (ret || i < 0 || i > 1) |
652 | return -EINVAL; | 655 | return -EINVAL; |
653 | 656 | ||
657 | if (!of_device_is_available(child)) | ||
658 | continue; | ||
659 | |||
654 | if (dual && i > 0) { | 660 | if (dual && i > 0) { |
655 | dev_warn(dev, "dual-channel mode, ignoring second output\n"); | 661 | dev_warn(dev, "dual-channel mode, ignoring second output\n"); |
656 | continue; | 662 | continue; |
657 | } | 663 | } |
658 | 664 | ||
659 | if (!of_device_is_available(child)) | ||
660 | continue; | ||
661 | |||
662 | channel = &imx_ldb->channel[i]; | 665 | channel = &imx_ldb->channel[i]; |
663 | channel->ldb = imx_ldb; | 666 | channel->ldb = imx_ldb; |
664 | channel->chno = i; | 667 | channel->chno = i; |