diff options
| author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2017-01-17 03:29:04 -0500 |
|---|---|---|
| committer | Archit Taneja <architt@codeaurora.org> | 2017-01-17 22:59:35 -0500 |
| commit | 0c674948b7f4e4ffc19ba5af65a274e945c0c689 (patch) | |
| tree | dac461835e4d375dcd47e6539f8d04d604faa5bb | |
| parent | 0527e12e8264ae96b1fcc550b4a9e5940f4ffc30 (diff) | |
drm: bridge: dw-hdmi: Detect AHB audio DMA using correct register
Bit 0 in CONFIG1_ID tells whether the IP core uses an AHB slave
interface for control. The correct way to identify AHB audio DMA support
is through bit 1 in CONFIG3_ID.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Jose Abreu <joabreu@synopsys.com>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20170117082910.27023-15-laurent.pinchart+renesas@ideasonboard.com
| -rw-r--r-- | drivers/gpu/drm/bridge/dw-hdmi.c | 6 | ||||
| -rw-r--r-- | drivers/gpu/drm/bridge/dw-hdmi.h | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c index 1809247745b8..730a7558d4d4 100644 --- a/drivers/gpu/drm/bridge/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/dw-hdmi.c | |||
| @@ -1836,7 +1836,7 @@ __dw_hdmi_probe(struct platform_device *pdev, | |||
| 1836 | u8 prod_id0; | 1836 | u8 prod_id0; |
| 1837 | u8 prod_id1; | 1837 | u8 prod_id1; |
| 1838 | u8 config0; | 1838 | u8 config0; |
| 1839 | u8 config1; | 1839 | u8 config3; |
| 1840 | 1840 | ||
| 1841 | hdmi = devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL); | 1841 | hdmi = devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL); |
| 1842 | if (!hdmi) | 1842 | if (!hdmi) |
| @@ -1988,9 +1988,9 @@ __dw_hdmi_probe(struct platform_device *pdev, | |||
| 1988 | pdevinfo.id = PLATFORM_DEVID_AUTO; | 1988 | pdevinfo.id = PLATFORM_DEVID_AUTO; |
| 1989 | 1989 | ||
| 1990 | config0 = hdmi_readb(hdmi, HDMI_CONFIG0_ID); | 1990 | config0 = hdmi_readb(hdmi, HDMI_CONFIG0_ID); |
| 1991 | config1 = hdmi_readb(hdmi, HDMI_CONFIG1_ID); | 1991 | config3 = hdmi_readb(hdmi, HDMI_CONFIG3_ID); |
| 1992 | 1992 | ||
| 1993 | if (config1 & HDMI_CONFIG1_AHB) { | 1993 | if (config3 & HDMI_CONFIG3_AHBAUDDMA) { |
| 1994 | struct dw_hdmi_audio_data audio; | 1994 | struct dw_hdmi_audio_data audio; |
| 1995 | 1995 | ||
| 1996 | audio.phys = iores->start; | 1996 | audio.phys = iores->start; |
diff --git a/drivers/gpu/drm/bridge/dw-hdmi.h b/drivers/gpu/drm/bridge/dw-hdmi.h index 91d7fabbd6e5..a4fd64a203c9 100644 --- a/drivers/gpu/drm/bridge/dw-hdmi.h +++ b/drivers/gpu/drm/bridge/dw-hdmi.h | |||
| @@ -559,6 +559,10 @@ enum { | |||
| 559 | /* CONFIG1_ID field values */ | 559 | /* CONFIG1_ID field values */ |
| 560 | HDMI_CONFIG1_AHB = 0x01, | 560 | HDMI_CONFIG1_AHB = 0x01, |
| 561 | 561 | ||
| 562 | /* CONFIG3_ID field values */ | ||
| 563 | HDMI_CONFIG3_AHBAUDDMA = 0x02, | ||
| 564 | HDMI_CONFIG3_GPAUD = 0x01, | ||
| 565 | |||
| 562 | /* IH_FC_INT2 field values */ | 566 | /* IH_FC_INT2 field values */ |
| 563 | HDMI_IH_FC_INT2_OVERFLOW_MASK = 0x03, | 567 | HDMI_IH_FC_INT2_OVERFLOW_MASK = 0x03, |
| 564 | HDMI_IH_FC_INT2_LOW_PRIORITY_OVERFLOW = 0x02, | 568 | HDMI_IH_FC_INT2_LOW_PRIORITY_OVERFLOW = 0x02, |
