summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/imx/imx-ldb.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@google.com>2020-08-26 10:47:08 +0200
committerGreg Kroah-Hartman <gregkh@google.com>2020-08-26 10:47:08 +0200
commit7aa6c9e0a0688153b8db490a1441fecfd8f0220b (patch)
treef320a1a610bc7c1ea990efd95e45ae0e52978e9d /drivers/gpu/drm/imx/imx-ldb.c
parent59f04f292e871fb7fd7b3425d7fd3fd489a44078 (diff)
parent61b7ab3507b38377aade089bcc2ddd77d7115e72 (diff)
Merge 4.4.234 into android-4.4-p
Changes in 4.4.234 drm/imx: imx-ldb: Disable both channels for split mode in enc->disable() perf probe: Fix memory leakage when the probe point is not found net/compat: Add missing sock updates for SCM_RIGHTS watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options watchdog: f71808e_wdt: remove use of wrong watchdog_info option coredump: fix race condition between collapse_huge_page() and core dumping khugepaged: khugepaged_test_exit() check mmget_still_valid() khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter() btrfs: export helpers for subvolume name/id resolution btrfs: don't show full path of bind mounts in subvol= romfs: fix uninitialized memory leak in romfs_dev_read() mm: include CMA pages in lowmem_reserve at boot mm, page_alloc: fix core hung in free_pcppages_bulk() ext4: clean up ext4_match() and callers ext4: fix checking of directory entry validity for inline directories media: budget-core: Improve exception handling in budget_register() media: vpss: clean up resources in init Input: psmouse - add a newline when printing 'proto' by sysfs m68knommu: fix overwriting of bits in ColdFire V3 cache control xfs: fix inode quota reservation checks jffs2: fix UAF problem scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases virtio_ring: Avoid loop when vq is broken in virtqueue_poll xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init alpha: fix annotation of io{read,write}{16,32}be() ext4: fix potential negative array index in do_split() ASoC: intel: Fix memleak in sst_media_open powerpc: Allow 4224 bytes of stack expansion for the signal frame epoll: Keep a reference on files added to the check list do_epoll_ctl(): clean the failure exits up a bit mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible xen: don't reschedule in preemption off sections omapfb: dss: Fix max fclk divider for omap36xx KVM: arm/arm64: Don't reschedule in unmap_stage2_range() Linux 4.4.234 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I974097d685afb4d7ecb61a11d8e270d70809f548
Diffstat (limited to 'drivers/gpu/drm/imx/imx-ldb.c')
-rw-r--r--drivers/gpu/drm/imx/imx-ldb.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c
index 31ca56e593f5..b9dc2ef64ed8 100644
--- a/drivers/gpu/drm/imx/imx-ldb.c
+++ b/drivers/gpu/drm/imx/imx-ldb.c
@@ -305,6 +305,7 @@ static void imx_ldb_encoder_disable(struct drm_encoder *encoder)
{
struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder);
struct imx_ldb *ldb = imx_ldb_ch->ldb;
+ int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN;
int mux, ret;
/*
@@ -321,14 +322,14 @@ static void imx_ldb_encoder_disable(struct drm_encoder *encoder)
drm_panel_disable(imx_ldb_ch->panel);
- if (imx_ldb_ch == &ldb->channel[0])
+ if (imx_ldb_ch == &ldb->channel[0] || dual)
ldb->ldb_ctrl &= ~LDB_CH0_MODE_EN_MASK;
- else if (imx_ldb_ch == &ldb->channel[1])
+ if (imx_ldb_ch == &ldb->channel[1] || dual)
ldb->ldb_ctrl &= ~LDB_CH1_MODE_EN_MASK;
regmap_write(ldb->regmap, IOMUXC_GPR2, ldb->ldb_ctrl);
- if (ldb->ldb_ctrl & LDB_SPLIT_MODE_EN) {
+ if (dual) {
clk_disable_unprepare(ldb->clk[0]);
clk_disable_unprepare(ldb->clk[1]);
}