[Intel-gfx] [PATCH] drm/i915: check ACTHD of all rings
Otherwise hangcheck spuriously fires when running blitter/bsd-only workloads. Contrary to a similar patch by Ben Widawsky this does not check INSTDONE of the other rings. Chris Wilson implied that in a failure to detect a hang, most likely because INSTDONE was fluctuating. Thus only check ACTHD, which as far as I know is rather reliable. Also, blitter and bsd rings can't launch complex tasks from a single instruction (like 3D_PRIM on the render with complex or even infinite shaders). This fixes spurious gpu hang detection when running tests/gem_hangcheck_forcewake on snb/ivb. Signed-Off-by: Daniel Vetter daniel.vet...@ffwll.ch --- drivers/gpu/drm/i915/i915_drv.h |2 ++ drivers/gpu/drm/i915/i915_irq.c | 13 ++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 4d6b794..9f4b147 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -334,6 +334,8 @@ typedef struct drm_i915_private { struct timer_list hangcheck_timer; int hangcheck_count; uint32_t last_acthd; + uint32_t last_acthd_bsd; + uint32_t last_acthd_blt; uint32_t last_instdone; uint32_t last_instdone1; diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index c9b0766..60e4224 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -1672,7 +1672,7 @@ void i915_hangcheck_elapsed(unsigned long data) { struct drm_device *dev = (struct drm_device *)data; drm_i915_private_t *dev_priv = dev-dev_private; - uint32_t acthd, instdone, instdone1; + uint32_t acthd, instdone, instdone1, acthd_bsd, acthd_blt; bool err = false; if (!i915_enable_hangcheck) @@ -1689,16 +1689,21 @@ void i915_hangcheck_elapsed(unsigned long data) } if (INTEL_INFO(dev)-gen 4) { - acthd = I915_READ(ACTHD); instdone = I915_READ(INSTDONE); instdone1 = 0; } else { - acthd = I915_READ(ACTHD_I965); instdone = I915_READ(INSTDONE_I965); instdone1 = I915_READ(INSTDONE1); } + acthd = intel_ring_get_active_head(dev_priv-ring[RCS]); + acthd_bsd = HAS_BSD(dev) ? + intel_ring_get_active_head(dev_priv-ring[VCS]) : 0; + acthd_blt = HAS_BLT(dev) ? + intel_ring_get_active_head(dev_priv-ring[BCS]) : 0; if (dev_priv-last_acthd == acthd + dev_priv-last_acthd_bsd == acthd_bsd + dev_priv-last_acthd_blt == acthd_blt dev_priv-last_instdone == instdone dev_priv-last_instdone1 == instdone1) { if (dev_priv-hangcheck_count++ 1) { @@ -1730,6 +1735,8 @@ void i915_hangcheck_elapsed(unsigned long data) dev_priv-hangcheck_count = 0; dev_priv-last_acthd = acthd; + dev_priv-last_acthd_bsd = acthd_bsd; + dev_priv-last_acthd_blt = acthd_blt; dev_priv-last_instdone = instdone; dev_priv-last_instdone1 = instdone1; } -- 1.7.6.3 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: check ACTHD of all rings
On Sun, 27 Nov 2011 18:58:17 +0100, Daniel Vetter daniel.vet...@ffwll.ch wrote: Otherwise hangcheck spuriously fires when running blitter/bsd-only workloads. Contrary to a similar patch by Ben Widawsky this does not check INSTDONE of the other rings. Chris Wilson implied that in a failure to detect a hang, most likely because INSTDONE was fluctuating. Thus only check ACTHD, which as far as I know is rather reliable. Also, blitter and bsd rings can't launch complex tasks from a single instruction (like 3D_PRIM on the render with complex or even infinite shaders). This fixes spurious gpu hang detection when running tests/gem_hangcheck_forcewake on snb/ivb. Signed-Off-by: Daniel Vetter daniel.vet...@ffwll.ch Reviewed-by: Chris Wilson ch...@chris-wilson.co.uk -Chris -- Chris Wilson, Intel Open Source Technology Centre ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] MSI intel video card not detected
Hi, i installed the latest driver from git repo on an msi ae2060 but no adapter is detected. lspci reports an intel vga adapter installed and xorg automatically loads the i915 module but then it reports no driver is found. syslog reports the module beign loaded and no fouther info. Im using kernel 3.2.1, any ideas ? can i gather any usefull information for you ? bests, Pablo ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] MSI intel video card not detected
Dear Pablo, Am Sonntag, den 27.11.2011, 16:02 -0300 schrieb Pablo Yaggi: Hi, i installed the latest driver from git repo on an msi ae2060 but no adapter is detected. lspci reports an intel vga adapter installed and xorg automatically loads the i915 module but then it reports no driver is found. syslog reports the module beign loaded and no fouther info. Im using kernel 3.2.1, any ideas ? can i gather any usefull information for you ? you could take a look at the page »How to file a good bug report« [1]. Thanks, Paul [1] http://intellinuxgraphics.org/how_to_report_bug.html signature.asc Description: This is a digitally signed message part ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] MSI intel video card not detected
Sorry about the pour info before, so The system (from uname) Linux 3.1.2 #1 SMP, i686 CPU E5800 Xorg server 1.10.4 / protocol version 2011-08-09 xf86-video-intel: git last commit 16f5e224dcfd97012b38ee1af6c72dbe3c0f3304 drm: git last commit ca4971292cf99e0063416cd1c3467af94637bf2b intel_reg_dumper:attached xorg.conf:attached xorg.log:attached monitor: integrated, MSI AIO ar2060 (20 widescreen) vga chipset: according to manufacturer it should be GMA x4500 but lspci just output this: 00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03) Before executing X, lsmod output was: intel_agp intel_gtt after: i915 drm_kms_helper drm i2c_alog_bit intel_agp intel_gtt dmesg : [ 33.305415] [drm] Initialized drm 1.1.0 20060810 [ 33.331791] pci :00:02.0: PCI INT A - GSI 16 (level, low) - IRQ 16 [ 33.331796] pci :00:02.0: setting latency timer to 64 [ 33.341369] [drm:intel_opregion_setup], graphic opregion physical addr: 0x7dd9e0e4 [ 33.341390] [drm:intel_opregion_setup], SWSCI supported [ 33.341548] pci :00:02.0: irq 46 for MSI/MSI-X [ 33.341553] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). [ 33.341554] [drm] No driver support for vblank timestamp query. [ 33.341595] [drm] Initialized i915 1.6.0 20080730 for :00:02.0 on minor 0 Hope this helps, please let me know if you need anything else, bests Pablo 2011/11/27 Paul Menzel paulepan...@users.sourceforge.net Dear Pablo, Am Sonntag, den 27.11.2011, 16:02 -0300 schrieb Pablo Yaggi: Hi, i installed the latest driver from git repo on an msi ae2060 but no adapter is detected. lspci reports an intel vga adapter installed and xorg automatically loads the i915 module but then it reports no driver is found. syslog reports the module beign loaded and no fouther info. Im using kernel 3.2.1, any ideas ? can i gather any usefull information for you ? you could take a look at the page »How to file a good bug report« [1]. Thanks, Paul [1] http://intellinuxgraphics.org/how_to_report_bug.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx DCC: 0x () CHDECMISC: 0x426c (XOR bank, ch2 enh disabled, ch1 enh enabled, ch0 enh enabled, flex disabled, ep not present) C0DRB0: 0x (0x) C0DRB1: 0x (0x) C0DRB2: 0x (0x) C0DRB3: 0x (0x) C1DRB0: 0x00200020 (0x0020) C1DRB1: 0x00200020 (0x0020) C1DRB2: 0x00200020 (0x0020) C1DRB3: 0x00880020 (0x0020) C0DRA01: 0x (0x) C0DRA23: 0x (0x) C1DRA01: 0x0088 (0x0088) C1DRA23: 0x (0x) PGETBL_CTL: 0x0008 VCLK_DIVISOR_VGA0: 0x00031108 (n = 3, m1 = 17, m2 = 8) VCLK_DIVISOR_VGA1: 0x00031406 (n = 3, m1 = 20, m2 = 6) VCLK_POST_DIV: 0x00020002 (vga0 p1 = 4, p2 = 2, vga1 p1 = 2, p2 = 2) DPLL_TEST: 0x00010001 () CACHE_MODE_0: 0x6820 D_STATE: 0x DSPCLK_GATE_D: 0x0004 (clock gates disabled: DSSUNIT) RENCLK_GATE_D1: 0x RENCLK_GATE_D2: 0x SDVOB: 0x001c (disabled, pipe A, stall disabled, detected) SDVOC: 0x0018 (disabled, pipe A, stall disabled, not detected) SDVOUDI: 0x DSPARB: 0x DSPFW1: 0x3f8f0f0f DSPFW2: 0x150f0f0f DSPFW3: 0x ADPA: 0x80008000 (enabled, pipe A, -hsync, -vsync) LVDS: 0x (disabled, pipe A, 18 bit, 1 channel) DVOA: 0x (disabled, pipe A, no stall, -hsync, -vsync) DVOB: 0x001c (disabled, pipe A, no stall, +hsync, +vsync) DVOC: 0x0018 (disabled, pipe A, no stall, +hsync, +vsync) DVOA_SRCDIM: 0x DVOB_SRCDIM: 0x DVOC_SRCDIM: 0x PP_CONTROL: 0x (power target: off) PP_STATUS: 0x (off, not ready, sequencing idle) PP_ON_DELAYS: 0x PP_OFF_DELAYS: 0x PP_DIVISOR: 0x PFIT_CONTROL: 0x PFIT_PGM_RATIOS: 0x PORT_HOTPLUG_EN: 0x0320 PORT_HOTPLUG_STAT: 0x0300 DSPACNTR: 0x4800 (disabled, pipe A) DSPASTRIDE: 0x0280 (640 bytes) DSPAPOS: 0x (0, 0) DSPASIZE: 0x (1, 1) DSPABASE: 0x DSPASURF: 0x DSPATILEOFF: 0x PIPEACONF: 0xc000 (enabled, active) PIPEASRC: 0x027f01df (640, 480) PIPEASTAT: 0x8206 (status: FIFO_UNDERRUN VSYNC_INT_STATUS SVBLANK_INT_STATUS
Re: [Intel-gfx] MSI intel video card not detected
On Sun, Nov 27, 2011 at 08:33:06PM +0100, Paul Menzel wrote: Am Sonntag, den 27.11.2011, 16:02 -0300 schrieb Pablo Yaggi: Hi, i installed the latest driver from git repo on an msi ae2060 but no adapter is detected. lspci reports an intel vga adapter installed and xorg automatically loads the i915 module but then it reports no driver is found. syslog reports the module beign loaded and no fouther info. Im using kernel 3.2.1, any ideas ? can i gather any usefull information for you ? you could take a look at the page »How to file a good bug report« [1]. Actually I think it's much more likely that there's a small configurations problem. Please grab the latest fedora or ubuntu livecd and see whether it properly works. If that does, make sure you don't have any old xorg.conf lying around, latest releases of xf86-vidoe-intel, libdrm, mesa and kernel installed and that kernel modesetting is properly enabled (check module parameters in /sys/module/i915). Yours, Daniel -- Daniel Vetter Mail: dan...@ffwll.ch Mobile: +41 (0)79 365 57 48 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] MSI intel video card not detected
Thanks a lot modsetting by default option was disabled in kernel, noe its working. bests, pablo El 27/11/2011, a las 17:45, Daniel Vetter dan...@ffwll.ch escribió: On Sun, Nov 27, 2011 at 08:33:06PM +0100, Paul Menzel wrote: Am Sonntag, den 27.11.2011, 16:02 -0300 schrieb Pablo Yaggi: Hi, i installed the latest driver from git repo on an msi ae2060 but no adapter is detected. lspci reports an intel vga adapter installed and xorg automatically loads the i915 module but then it reports no driver is found. syslog reports the module beign loaded and no fouther info. Im using kernel 3.2.1, any ideas ? can i gather any usefull information for you ? you could take a look at the page »How to file a good bug report« [1]. Actually I think it's much more likely that there's a small configurations problem. Please grab the latest fedora or ubuntu livecd and see whether it properly works. If that does, make sure you don't have any old xorg.conf lying around, latest releases of xf86-vidoe-intel, libdrm, mesa and kernel installed and that kernel modesetting is properly enabled (check module parameters in /sys/module/i915). Yours, Daniel -- Daniel Vetter Mail: dan...@ffwll.ch Mobile: +41 (0)79 365 57 48 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] Failed to get i915 symbols, graphics turbo disabled error on boot
Hi, I was gettng a Failed to get i915 symbols, graphics turbo disabled error message regardless of kernel I ran. I have a laptop with Intel i5 processor and Intel GMA HD graphics. I'm now running a 3.1.0-2.dmz.1-liquorix-amd64 kernel on Linux Mint Debian Edition. I have gotten rid of the error message by following advice I found on a forum. I issued the following command: sudo su -c 'echo softdep intel_ips pre: i915 /etc/modprobe.d/intel-ips-dep-i915.conf' Can someone here tell me whether this solution simply got rid of the error message, or if it may have fixed the problem causing the error message in the first place. I am a Linux user without and coding experience, so please excuse me if the question asked has an obvious answer. -- //CD ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 1/4] drm/i915: fix ELD writing for SandyBridge
SandyBridge should be using the same register addresses as IvyBridge. Signed-off-by: Wu Fengguang fengguang...@intel.com --- drivers/gpu/drm/i915/intel_display.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- linux.orig/drivers/gpu/drm/i915/intel_display.c 2011-11-24 08:09:41.0 +0800 +++ linux/drivers/gpu/drm/i915/intel_display.c 2011-11-24 08:10:32.0 +0800 @@ -5857,7 +5857,7 @@ static void ironlake_write_eld(struct dr int aud_cntl_st; int aud_cntrl_st2; - if (IS_IVYBRIDGE(connector-dev)) { + if (HAS_PCH_IBX(connector-dev)) { hdmiw_hdmiedid = GEN7_HDMIW_HDMIEDID_A; aud_cntl_st = GEN7_AUD_CNTRL_ST_A; aud_cntrl_st2 = GEN7_AUD_CNTRL_ST2; ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 3/4] drm/i915: dont trigger hotplug events on unchanged ELD
The ELD may or may not change when switching the video mode. If unchanged, don't trigger hot plug events to HDMI audio driver. This avoids disturbing the user with repeated printks. Reported-by: Nick Bowler nbow...@elliptictech.com Signed-off-by: Wu Fengguang fengguang...@intel.com --- drivers/gpu/drm/i915/intel_display.c | 51 ++--- 1 file changed, 46 insertions(+), 5 deletions(-) --- linux.orig/drivers/gpu/drm/i915/intel_display.c 2011-11-24 08:25:26.0 +0800 +++ linux/drivers/gpu/drm/i915/intel_display.c 2011-11-24 08:25:27.0 +0800 @@ -5811,6 +5811,35 @@ static int intel_crtc_mode_set(struct dr return ret; } +static bool intel_eld_uptodate(struct drm_connector *connector, + int reg_eldv, uint32_t bits_eldv, + int reg_elda, uint32_t bits_elda, + int reg_edid) +{ + struct drm_i915_private *dev_priv = connector-dev-dev_private; + uint8_t *eld = connector-eld; + uint32_t i; + + i = I915_READ(reg_eldv); + i = bits_eldv; + + if (!eld[0]) + return !i; + + if (!i) + return false; + + i = I915_READ(reg_elda); + i = ~bits_elda; + I915_WRITE(reg_elda, i); + + for (i = 0; i eld[2]; i++) + if (I915_READ(reg_edid) != *((uint32_t *)eld + i)) + return false; + + return true; +} + static void g4x_write_eld(struct drm_connector *connector, struct drm_crtc *crtc) { @@ -5827,6 +5856,12 @@ static void g4x_write_eld(struct drm_con else eldv = G4X_ELDV_DEVCTG; + if (intel_eld_uptodate(connector, + G4X_AUD_CNTL_ST, eldv, + G4X_AUD_CNTL_ST, G4X_ELD_ADDR, + G4X_HDMIW_HDMIEDID)) + return; + i = I915_READ(G4X_AUD_CNTL_ST); i = ~(eldv | G4X_ELD_ADDR); len = (i 9) 0x1f; /* ELD buffer size */ @@ -5886,6 +5921,17 @@ static void ironlake_write_eld(struct dr eldv = IBX_ELD_VALIDB ((i - 1) * 4); } + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) { + DRM_DEBUG_DRIVER(ELD: DisplayPort detected\n); + eld[5] |= (1 2); /* Conn_Type, 0x1 = DisplayPort */ + } + + if (intel_eld_uptodate(connector, + aud_cntrl_st2, eldv, + aud_cntl_st, IBX_ELD_ADDRESS, + hdmiw_hdmiedid)) + return; + i = I915_READ(aud_cntrl_st2); i = ~eldv; I915_WRITE(aud_cntrl_st2, i); @@ -5893,11 +5939,6 @@ static void ironlake_write_eld(struct dr if (!eld[0]) return; - if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) { - DRM_DEBUG_DRIVER(ELD: DisplayPort detected\n); - eld[5] |= (1 2); /* Conn_Type, 0x1 = DisplayPort */ - } - i = I915_READ(aud_cntl_st); i = ~IBX_ELD_ADDRESS; I915_WRITE(aud_cntl_st, i); ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 0/4] Intel HDMI ELD fixes
Keith, The 4 patches are well tested and integrates the review comments. The only missing part is hot plug notification for DP -- most DP monitors in the market don't support DP audio well. So I cannot test this for now. Thanks, Fengguang ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 4/4] drm/i915: HDMI hot remove notification to audio driver
On HDMI monitor hot remove, clear SDVO_AUDIO_ENABLE accordingly, so that the audio driver will receive hot plug events and take action to refresh its device state and ELD contents. The cleared SDVO_AUDIO_ENABLE bit needs to be restored to prevent losing HDMI audio after DPMS on. CC: Wang Zhenyu zhenyu.z.w...@intel.com Signed-off-by: Wu Fengguang fengguang...@intel.com --- drivers/gpu/drm/i915/intel_dp.c |4 +++- drivers/gpu/drm/i915/intel_hdmi.c |8 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) --- linux.orig/drivers/gpu/drm/i915/intel_hdmi.c2011-11-24 17:11:38.0 +0800 +++ linux/drivers/gpu/drm/i915/intel_hdmi.c 2011-11-24 17:15:03.0 +0800 @@ -269,6 +269,10 @@ static void intel_hdmi_dpms(struct drm_e struct drm_i915_private *dev_priv = dev-dev_private; struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); u32 temp; + u32 enable_bits = SDVO_ENABLE; + + if (intel_hdmi-has_audio) + enable_bits |= SDVO_AUDIO_ENABLE; temp = I915_READ(intel_hdmi-sdvox_reg); @@ -281,9 +285,9 @@ static void intel_hdmi_dpms(struct drm_e } if (mode != DRM_MODE_DPMS_ON) { - temp = ~SDVO_ENABLE; + temp = ~enable_bits; } else { - temp |= SDVO_ENABLE; + temp |= enable_bits; } I915_WRITE(intel_hdmi-sdvox_reg, temp); ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 2/4] drm/i915: rename audio ELD registers
Change the definitions from GEN5 to IBX as they aren't in the CPU and some SNB systems actually shipped with IBX chipsets (or, at least that's a supported configuration). The GEN7_* register addresses actually take effect since GEN6 and should be prefixed by CPT, the PCH code name. Suggested-by: Keith Packard kei...@keithp.com Signed-off-by: Wu Fengguang fengguang...@intel.com --- drivers/gpu/drm/i915/i915_reg.h | 22 +++--- drivers/gpu/drm/i915/intel_display.c | 22 +++--- 2 files changed, 22 insertions(+), 22 deletions(-) --- linux.orig/drivers/gpu/drm/i915/i915_reg.h 2011-11-24 08:09:28.0 +0800 +++ linux/drivers/gpu/drm/i915/i915_reg.h 2011-11-24 08:10:02.0 +0800 @@ -3534,17 +3534,17 @@ #define G4X_ELD_ACK(1 4) #define G4X_HDMIW_HDMIEDID 0x6210C -#define GEN5_HDMIW_HDMIEDID_A 0xE2050 -#define GEN5_AUD_CNTL_ST_A 0xE20B4 -#define GEN5_ELD_BUFFER_SIZE (0x1f 10) -#define GEN5_ELD_ADDRESS (0x1f 5) -#define GEN5_ELD_ACK (1 4) -#define GEN5_AUD_CNTL_ST2 0xE20C0 -#define GEN5_ELD_VALIDB(1 0) -#define GEN5_CP_READYB (1 1) +#define IBX_HDMIW_HDMIEDID_A 0xE2050 +#define IBX_AUD_CNTL_ST_A 0xE20B4 +#define IBX_ELD_BUFFER_SIZE(0x1f 10) +#define IBX_ELD_ADDRESS(0x1f 5) +#define IBX_ELD_ACK(1 4) +#define IBX_AUD_CNTL_ST2 0xE20C0 +#define IBX_ELD_VALIDB (1 0) +#define IBX_CP_READYB (1 1) -#define GEN7_HDMIW_HDMIEDID_A 0xE5050 -#define GEN7_AUD_CNTRL_ST_A0xE50B4 -#define GEN7_AUD_CNTRL_ST2 0xE50C0 +#define CPT_HDMIW_HDMIEDID_A 0xE5050 +#define CPT_AUD_CNTL_ST_A 0xE50B4 +#define CPT_AUD_CNTRL_ST2 0xE50C0 #endif /* _I915_REG_H_ */ --- linux.orig/drivers/gpu/drm/i915/intel_display.c 2011-11-24 08:09:53.0 +0800 +++ linux/drivers/gpu/drm/i915/intel_display.c 2011-11-24 08:10:05.0 +0800 @@ -5858,13 +5858,13 @@ static void ironlake_write_eld(struct dr int aud_cntrl_st2; if (HAS_PCH_IBX(connector-dev)) { - hdmiw_hdmiedid = GEN7_HDMIW_HDMIEDID_A; - aud_cntl_st = GEN7_AUD_CNTRL_ST_A; - aud_cntrl_st2 = GEN7_AUD_CNTRL_ST2; + hdmiw_hdmiedid = IBX_HDMIW_HDMIEDID_A; + aud_cntl_st = IBX_AUD_CNTL_ST_A; + aud_cntrl_st2 = IBX_AUD_CNTL_ST2; } else { - hdmiw_hdmiedid = GEN5_HDMIW_HDMIEDID_A; - aud_cntl_st = GEN5_AUD_CNTL_ST_A; - aud_cntrl_st2 = GEN5_AUD_CNTL_ST2; + hdmiw_hdmiedid = CPT_HDMIW_HDMIEDID_A; + aud_cntl_st = CPT_AUD_CNTL_ST_A; + aud_cntrl_st2 = CPT_AUD_CNTRL_ST2; } i = to_intel_crtc(crtc)-pipe; @@ -5878,12 +5878,12 @@ static void ironlake_write_eld(struct dr if (!i) { DRM_DEBUG_DRIVER(Audio directed to unknown port\n); /* operate blindly on all ports */ - eldv = GEN5_ELD_VALIDB; - eldv |= GEN5_ELD_VALIDB 4; - eldv |= GEN5_ELD_VALIDB 8; + eldv = IBX_ELD_VALIDB; + eldv |= IBX_ELD_VALIDB 4; + eldv |= IBX_ELD_VALIDB 8; } else { DRM_DEBUG_DRIVER(ELD on port %c\n, 'A' + i); - eldv = GEN5_ELD_VALIDB ((i - 1) * 4); + eldv = IBX_ELD_VALIDB ((i - 1) * 4); } i = I915_READ(aud_cntrl_st2); @@ -5899,7 +5899,7 @@ static void ironlake_write_eld(struct dr } i = I915_READ(aud_cntl_st); - i = ~GEN5_ELD_ADDRESS; + i = ~IBX_ELD_ADDRESS; I915_WRITE(aud_cntl_st, i); len = min_t(uint8_t, eld[2], 21); /* 84 bytes of hw ELD buffer */ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx