aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_reg.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-09-02 22:05:01 -0400
committerDave Airlie <airlied@redhat.com>2012-09-02 22:05:01 -0400
commit65983bd605a12edd16a4f39f513aad65f1cad062 (patch)
treebf8c84598565c26e251efb9cb591977446e7e76b /drivers/gpu/drm/i915/i915_reg.h
parent93bb70e0c00f1be4cc857e4d8375c44058cce71e (diff)
parentd7c3b937bdf45f0b844400b7bf6fd3ed50bac604 (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.h79
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 */