aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-11-29 16:18:51 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-12-03 16:31:04 -0500
commit1a240d4de2ccf40de5796a4d1dbb3a0236051fc9 (patch)
treeb9bb2cb0b3e1158f01b35a2c3aea9c2bcf060f27 /drivers/gpu
parentc1f093e09c4ceb583b04d11e767bb3201812e4d2 (diff)
drm/i915: fixup sparse warnings
- __iomem where there is none (I love how we mix these things up). - Use gfp_t instead of an other plain type. - Unconfuse one place about enum pipe vs enum transcoder - for the pch transcoder we actually use the pipe enum. Fixup the other cases where we assign the pipe to the cpu transcoder with explicit casts. - Declare the mch_lock properly in a header. There is still a decent mess in intel_bios.c about __iomem, but heck, this is x86 and we're allowed to do that. Makes-sparse-happy: Chris Wilson <chris@chris-wilson.co.uk> [danvet: Use a space after the cast consistently and fix up the newly-added cast in i915_irq.c to properly use __iomem.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c4
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h3
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c2
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c5
-rw-r--r--drivers/gpu/drm/i915/intel_ddi.c2
-rw-r--r--drivers/gpu/drm/i915/intel_display.c9
6 files changed, 13 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 58e667687741..ce60506b574b 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -546,11 +546,11 @@ static int i915_hws_info(struct seq_file *m, void *data)
546 struct drm_device *dev = node->minor->dev; 546 struct drm_device *dev = node->minor->dev;
547 drm_i915_private_t *dev_priv = dev->dev_private; 547 drm_i915_private_t *dev_priv = dev->dev_private;
548 struct intel_ring_buffer *ring; 548 struct intel_ring_buffer *ring;
549 const volatile u32 __iomem *hws; 549 const u32 *hws;
550 int i; 550 int i;
551 551
552 ring = &dev_priv->ring[(uintptr_t)node->info_ent->data]; 552 ring = &dev_priv->ring[(uintptr_t)node->info_ent->data];
553 hws = (volatile u32 __iomem *)ring->status_page.page_addr; 553 hws = ring->status_page.page_addr;
554 if (hws == NULL) 554 if (hws == NULL)
555 return 0; 555 return 0;
556 556
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 3473298a137f..bb0eb0f8f6b3 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -577,6 +577,9 @@ struct intel_gen6_power_mgmt {
577 struct mutex hw_lock; 577 struct mutex hw_lock;
578}; 578};
579 579
580/* defined intel_pm.c */
581extern spinlock_t mchdev_lock;
582
580struct intel_ilk_power_mgmt { 583struct intel_ilk_power_mgmt {
581 u8 cur_delay; 584 u8 cur_delay;
582 u8 min_delay; 585 u8 min_delay;
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index b68bc02745db..cb941448c2bc 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3705,7 +3705,7 @@ struct drm_i915_gem_object *i915_gem_alloc_object(struct drm_device *dev,
3705{ 3705{
3706 struct drm_i915_gem_object *obj; 3706 struct drm_i915_gem_object *obj;
3707 struct address_space *mapping; 3707 struct address_space *mapping;
3708 u32 mask; 3708 gfp_t mask;
3709 3709
3710 obj = i915_gem_object_alloc(dev); 3710 obj = i915_gem_object_alloc(dev);
3711 if (obj == NULL) 3711 if (obj == NULL)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 7a0ddee9751a..68e7cafa13de 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -300,9 +300,6 @@ static void i915_hotplug_work_func(struct work_struct *work)
300 drm_helper_hpd_irq_event(dev); 300 drm_helper_hpd_irq_event(dev);
301} 301}
302 302
303/* defined intel_pm.c */
304extern spinlock_t mchdev_lock;
305
306static void ironlake_handle_rps_change(struct drm_device *dev) 303static void ironlake_handle_rps_change(struct drm_device *dev)
307{ 304{
308 drm_i915_private_t *dev_priv = dev->dev_private; 305 drm_i915_private_t *dev_priv = dev->dev_private;
@@ -936,7 +933,7 @@ i915_error_object_create(struct drm_i915_private *dev_priv,
936 offset += src->stolen->start; 933 offset += src->stolen->start;
937 offset += i << PAGE_SHIFT; 934 offset += i << PAGE_SHIFT;
938 935
939 memcpy_fromio(d, (void *)offset, PAGE_SIZE); 936 memcpy_fromio(d, (void __iomem *) offset, PAGE_SIZE);
940 } else { 937 } else {
941 struct page *page; 938 struct page *page;
942 void *s; 939 void *s;
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index ad936c68e4cb..f02b3feff504 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1044,7 +1044,7 @@ bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector)
1044 if (port == PORT_A) 1044 if (port == PORT_A)
1045 cpu_transcoder = TRANSCODER_EDP; 1045 cpu_transcoder = TRANSCODER_EDP;
1046 else 1046 else
1047 cpu_transcoder = pipe; 1047 cpu_transcoder = (enum transcoder) pipe;
1048 1048
1049 tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)); 1049 tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
1050 1050
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index d303f2a90e70..093a163d4b1c 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1671,7 +1671,7 @@ static void lpt_enable_pch_transcoder(struct drm_i915_private *dev_priv,
1671 BUG_ON(dev_priv->info->gen < 5); 1671 BUG_ON(dev_priv->info->gen < 5);
1672 1672
1673 /* FDI must be feeding us bits for PCH ports */ 1673 /* FDI must be feeding us bits for PCH ports */
1674 assert_fdi_tx_enabled(dev_priv, cpu_transcoder); 1674 assert_fdi_tx_enabled(dev_priv, (enum pipe) cpu_transcoder);
1675 assert_fdi_rx_enabled(dev_priv, TRANSCODER_A); 1675 assert_fdi_rx_enabled(dev_priv, TRANSCODER_A);
1676 1676
1677 /* Workaround: set timing override bit. */ 1677 /* Workaround: set timing override bit. */
@@ -1759,7 +1759,7 @@ static void intel_enable_pipe(struct drm_i915_private *dev_priv, enum pipe pipe,
1759{ 1759{
1760 enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, 1760 enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
1761 pipe); 1761 pipe);
1762 enum transcoder pch_transcoder; 1762 enum pipe pch_transcoder;
1763 int reg; 1763 int reg;
1764 u32 val; 1764 u32 val;
1765 1765
@@ -1779,7 +1779,8 @@ static void intel_enable_pipe(struct drm_i915_private *dev_priv, enum pipe pipe,
1779 if (pch_port) { 1779 if (pch_port) {
1780 /* if driving the PCH, we need FDI enabled */ 1780 /* if driving the PCH, we need FDI enabled */
1781 assert_fdi_rx_pll_enabled(dev_priv, pch_transcoder); 1781 assert_fdi_rx_pll_enabled(dev_priv, pch_transcoder);
1782 assert_fdi_tx_pll_enabled(dev_priv, cpu_transcoder); 1782 assert_fdi_tx_pll_enabled(dev_priv,
1783 (enum pipe) cpu_transcoder);
1783 } 1784 }
1784 /* FIXME: assert CPU port conditions for SNB+ */ 1785 /* FIXME: assert CPU port conditions for SNB+ */
1785 } 1786 }
@@ -3598,7 +3599,7 @@ static void haswell_crtc_off(struct drm_crtc *crtc)
3598 3599
3599 /* Stop saying we're using TRANSCODER_EDP because some other CRTC might 3600 /* Stop saying we're using TRANSCODER_EDP because some other CRTC might
3600 * start using it. */ 3601 * start using it. */
3601 intel_crtc->cpu_transcoder = intel_crtc->pipe; 3602 intel_crtc->cpu_transcoder = (enum transcoder) intel_crtc->pipe;
3602 3603
3603 intel_ddi_put_crtc_pll(crtc); 3604 intel_ddi_put_crtc_pll(crtc);
3604} 3605}