diff options
author | Dave Airlie <airlied@redhat.com> | 2012-09-02 22:05:01 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-09-02 22:05:01 -0400 |
commit | 65983bd605a12edd16a4f39f513aad65f1cad062 (patch) | |
tree | bf8c84598565c26e251efb9cb591977446e7e76b /drivers/gpu/drm/i915/i915_reg.h | |
parent | 93bb70e0c00f1be4cc857e4d8375c44058cce71e (diff) | |
parent | d7c3b937bdf45f0b844400b7bf6fd3ed50bac604 (diff) |
Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-next
Daniel writes:
"New stuff for -next. Highlights:
- prep patches for the modeset rework. Note that one of those patches
touches the fb helper in the common drm code.
- hasw hdmi audio support (Wang Xingchao)
- improved instdone dumping for gen7 (Ben)
- unbound tracking and a few follow-up patches from Chris
- dma_buf->begin/end_cpu_access plus fix for drm/udl (Dave)
- improve mmio error reporting for hsw
- prep patch for WQ_NON_REENTRANT removal (Tejun Heo)
"
* 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel: (41 commits)
drm/i915: Remove __GFP_NO_KSWAPD
drm/i915: disable rc6 on ilk when vt-d is enabled
drm/i915: Avoid unbinding due to an interrupted pin_and_fence during execbuffer
drm/i915: Use new INSTDONE registers (Gen7+)
drm/i915: Add new INSTDONE registers
drm/i915: Extract reading INSTDONE
drm/i915: Use a non-blocking wait for set-to-domain ioctl
drm/i915: Juggle code order to ease flow of the next patch
drm/i915: Use cpu relocations if the object is in the GTT but not mappable
drm/i915: Extract general object init routine
drm/i915: Protect private gem objects from truncate (such as imported dmabuf)
drm/i915: Only pwrite through the GTT if there is space in the aperture
i915: use alloc_ordered_workqueue() instead of explicit UNBOUND w/ max_active = 1
drm/i915: Find unclaimed MMIO writes.
drm/i915: Add ERR_INT to gen7 error state
drm/i915: Cantiga+ cannot handle a hsync front porch of 0
drm/i915: fix reassignment of variable "intel_dp->DP"
drm/i915: Try harder to allocate an mmap_offset
drm/i915: Show pin count in debugfs
drm/i915: Show (count, size) of purgeable objects in i915_gem_objects
...
Diffstat (limited to 'drivers/gpu/drm/i915/i915_reg.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index ab8cffe193cd..75dcfa4ec5ce 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -479,6 +479,11 @@ | |||
479 | #define IPEIR_I965 0x02064 | 479 | #define IPEIR_I965 0x02064 |
480 | #define IPEHR_I965 0x02068 | 480 | #define IPEHR_I965 0x02068 |
481 | #define INSTDONE_I965 0x0206c | 481 | #define INSTDONE_I965 0x0206c |
482 | #define GEN7_INSTDONE_1 0x0206c | ||
483 | #define GEN7_SC_INSTDONE 0x07100 | ||
484 | #define GEN7_SAMPLER_INSTDONE 0x0e160 | ||
485 | #define GEN7_ROW_INSTDONE 0x0e164 | ||
486 | #define I915_NUM_INSTDONE_REG 4 | ||
482 | #define RING_IPEIR(base) ((base)+0x64) | 487 | #define RING_IPEIR(base) ((base)+0x64) |
483 | #define RING_IPEHR(base) ((base)+0x68) | 488 | #define RING_IPEHR(base) ((base)+0x68) |
484 | #define RING_INSTDONE(base) ((base)+0x6c) | 489 | #define RING_INSTDONE(base) ((base)+0x6c) |
@@ -501,6 +506,8 @@ | |||
501 | #define DMA_FADD_I8XX 0x020d0 | 506 | #define DMA_FADD_I8XX 0x020d0 |
502 | 507 | ||
503 | #define ERROR_GEN6 0x040a0 | 508 | #define ERROR_GEN6 0x040a0 |
509 | #define GEN7_ERR_INT 0x44040 | ||
510 | #define ERR_INT_MMIO_UNCLAIMED (1<<13) | ||
504 | 511 | ||
505 | /* GM45+ chicken bits -- debug workaround bits that may be required | 512 | /* GM45+ chicken bits -- debug workaround bits that may be required |
506 | * for various sorts of correct behavior. The top 16 bits of each are | 513 | * for various sorts of correct behavior. The top 16 bits of each are |
@@ -4248,7 +4255,15 @@ | |||
4248 | #define G4X_HDMIW_HDMIEDID 0x6210C | 4255 | #define G4X_HDMIW_HDMIEDID 0x6210C |
4249 | 4256 | ||
4250 | #define IBX_HDMIW_HDMIEDID_A 0xE2050 | 4257 | #define IBX_HDMIW_HDMIEDID_A 0xE2050 |
4258 | #define IBX_HDMIW_HDMIEDID_B 0xE2150 | ||
4259 | #define IBX_HDMIW_HDMIEDID(pipe) _PIPE(pipe, \ | ||
4260 | IBX_HDMIW_HDMIEDID_A, \ | ||
4261 | IBX_HDMIW_HDMIEDID_B) | ||
4251 | #define IBX_AUD_CNTL_ST_A 0xE20B4 | 4262 | #define IBX_AUD_CNTL_ST_A 0xE20B4 |
4263 | #define IBX_AUD_CNTL_ST_B 0xE21B4 | ||
4264 | #define IBX_AUD_CNTL_ST(pipe) _PIPE(pipe, \ | ||
4265 | IBX_AUD_CNTL_ST_A, \ | ||
4266 | IBX_AUD_CNTL_ST_B) | ||
4252 | #define IBX_ELD_BUFFER_SIZE (0x1f << 10) | 4267 | #define IBX_ELD_BUFFER_SIZE (0x1f << 10) |
4253 | #define IBX_ELD_ADDRESS (0x1f << 5) | 4268 | #define IBX_ELD_ADDRESS (0x1f << 5) |
4254 | #define IBX_ELD_ACK (1 << 4) | 4269 | #define IBX_ELD_ACK (1 << 4) |
@@ -4257,7 +4272,15 @@ | |||
4257 | #define IBX_CP_READYB (1 << 1) | 4272 | #define IBX_CP_READYB (1 << 1) |
4258 | 4273 | ||
4259 | #define CPT_HDMIW_HDMIEDID_A 0xE5050 | 4274 | #define CPT_HDMIW_HDMIEDID_A 0xE5050 |
4275 | #define CPT_HDMIW_HDMIEDID_B 0xE5150 | ||
4276 | #define CPT_HDMIW_HDMIEDID(pipe) _PIPE(pipe, \ | ||
4277 | CPT_HDMIW_HDMIEDID_A, \ | ||
4278 | CPT_HDMIW_HDMIEDID_B) | ||
4260 | #define CPT_AUD_CNTL_ST_A 0xE50B4 | 4279 | #define CPT_AUD_CNTL_ST_A 0xE50B4 |
4280 | #define CPT_AUD_CNTL_ST_B 0xE51B4 | ||
4281 | #define CPT_AUD_CNTL_ST(pipe) _PIPE(pipe, \ | ||
4282 | CPT_AUD_CNTL_ST_A, \ | ||
4283 | CPT_AUD_CNTL_ST_B) | ||
4261 | #define CPT_AUD_CNTRL_ST2 0xE50C0 | 4284 | #define CPT_AUD_CNTRL_ST2 0xE50C0 |
4262 | 4285 | ||
4263 | /* These are the 4 32-bit write offset registers for each stream | 4286 | /* These are the 4 32-bit write offset registers for each stream |
@@ -4267,7 +4290,15 @@ | |||
4267 | #define GEN7_SO_WRITE_OFFSET(n) (0x5280 + (n) * 4) | 4290 | #define GEN7_SO_WRITE_OFFSET(n) (0x5280 + (n) * 4) |
4268 | 4291 | ||
4269 | #define IBX_AUD_CONFIG_A 0xe2000 | 4292 | #define IBX_AUD_CONFIG_A 0xe2000 |
4293 | #define IBX_AUD_CONFIG_B 0xe2100 | ||
4294 | #define IBX_AUD_CFG(pipe) _PIPE(pipe, \ | ||
4295 | IBX_AUD_CONFIG_A, \ | ||
4296 | IBX_AUD_CONFIG_B) | ||
4270 | #define CPT_AUD_CONFIG_A 0xe5000 | 4297 | #define CPT_AUD_CONFIG_A 0xe5000 |
4298 | #define CPT_AUD_CONFIG_B 0xe5100 | ||
4299 | #define CPT_AUD_CFG(pipe) _PIPE(pipe, \ | ||
4300 | CPT_AUD_CONFIG_A, \ | ||
4301 | CPT_AUD_CONFIG_B) | ||
4271 | #define AUD_CONFIG_N_VALUE_INDEX (1 << 29) | 4302 | #define AUD_CONFIG_N_VALUE_INDEX (1 << 29) |
4272 | #define AUD_CONFIG_N_PROG_ENABLE (1 << 28) | 4303 | #define AUD_CONFIG_N_PROG_ENABLE (1 << 28) |
4273 | #define AUD_CONFIG_UPPER_N_SHIFT 20 | 4304 | #define AUD_CONFIG_UPPER_N_SHIFT 20 |
@@ -4278,6 +4309,54 @@ | |||
4278 | #define AUD_CONFIG_PIXEL_CLOCK_HDMI (0xf << 16) | 4309 | #define AUD_CONFIG_PIXEL_CLOCK_HDMI (0xf << 16) |
4279 | #define AUD_CONFIG_DISABLE_NCTS (1 << 3) | 4310 | #define AUD_CONFIG_DISABLE_NCTS (1 << 3) |
4280 | 4311 | ||
4312 | /* HSW Audio */ | ||
4313 | #define HSW_AUD_CONFIG_A 0x65000 /* Audio Configuration Transcoder A */ | ||
4314 | #define HSW_AUD_CONFIG_B 0x65100 /* Audio Configuration Transcoder B */ | ||
4315 | #define HSW_AUD_CFG(pipe) _PIPE(pipe, \ | ||
4316 | HSW_AUD_CONFIG_A, \ | ||
4317 | HSW_AUD_CONFIG_B) | ||
4318 | |||
4319 | #define HSW_AUD_MISC_CTRL_A 0x65010 /* Audio Misc Control Convert 1 */ | ||
4320 | #define HSW_AUD_MISC_CTRL_B 0x65110 /* Audio Misc Control Convert 2 */ | ||
4321 | #define HSW_AUD_MISC_CTRL(pipe) _PIPE(pipe, \ | ||
4322 | HSW_AUD_MISC_CTRL_A, \ | ||
4323 | HSW_AUD_MISC_CTRL_B) | ||
4324 | |||
4325 | #define HSW_AUD_DIP_ELD_CTRL_ST_A 0x650b4 /* Audio DIP and ELD Control State Transcoder A */ | ||
4326 | #define HSW_AUD_DIP_ELD_CTRL_ST_B 0x651b4 /* Audio DIP and ELD Control State Transcoder B */ | ||
4327 | #define HSW_AUD_DIP_ELD_CTRL(pipe) _PIPE(pipe, \ | ||
4328 | HSW_AUD_DIP_ELD_CTRL_ST_A, \ | ||
4329 | HSW_AUD_DIP_ELD_CTRL_ST_B) | ||
4330 | |||
4331 | /* Audio Digital Converter */ | ||
4332 | #define HSW_AUD_DIG_CNVT_1 0x65080 /* Audio Converter 1 */ | ||
4333 | #define HSW_AUD_DIG_CNVT_2 0x65180 /* Audio Converter 1 */ | ||
4334 | #define AUD_DIG_CNVT(pipe) _PIPE(pipe, \ | ||
4335 | HSW_AUD_DIG_CNVT_1, \ | ||
4336 | HSW_AUD_DIG_CNVT_2) | ||
4337 | #define DIP_PORT_SEL_MASK 0x3 | ||
4338 | |||
4339 | #define HSW_AUD_EDID_DATA_A 0x65050 | ||
4340 | #define HSW_AUD_EDID_DATA_B 0x65150 | ||
4341 | #define HSW_AUD_EDID_DATA(pipe) _PIPE(pipe, \ | ||
4342 | HSW_AUD_EDID_DATA_A, \ | ||
4343 | HSW_AUD_EDID_DATA_B) | ||
4344 | |||
4345 | #define HSW_AUD_PIPE_CONV_CFG 0x6507c /* Audio pipe and converter configs */ | ||
4346 | #define HSW_AUD_PIN_ELD_CP_VLD 0x650c0 /* Audio ELD and CP Ready Status */ | ||
4347 | #define AUDIO_INACTIVE_C (1<<11) | ||
4348 | #define AUDIO_INACTIVE_B (1<<7) | ||
4349 | #define AUDIO_INACTIVE_A (1<<3) | ||
4350 | #define AUDIO_OUTPUT_ENABLE_A (1<<2) | ||
4351 | #define AUDIO_OUTPUT_ENABLE_B (1<<6) | ||
4352 | #define AUDIO_OUTPUT_ENABLE_C (1<<10) | ||
4353 | #define AUDIO_ELD_VALID_A (1<<0) | ||
4354 | #define AUDIO_ELD_VALID_B (1<<4) | ||
4355 | #define AUDIO_ELD_VALID_C (1<<8) | ||
4356 | #define AUDIO_CP_READY_A (1<<1) | ||
4357 | #define AUDIO_CP_READY_B (1<<5) | ||
4358 | #define AUDIO_CP_READY_C (1<<9) | ||
4359 | |||
4281 | /* HSW Power Wells */ | 4360 | /* HSW Power Wells */ |
4282 | #define HSW_PWR_WELL_CTL1 0x45400 /* BIOS */ | 4361 | #define HSW_PWR_WELL_CTL1 0x45400 /* BIOS */ |
4283 | #define HSW_PWR_WELL_CTL2 0x45404 /* Driver */ | 4362 | #define HSW_PWR_WELL_CTL2 0x45404 /* Driver */ |