All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] Misc preparation patches
@ 2014-05-13 14:30 Damien Lespiau
  2014-05-13 14:30 ` [PATCH 1/5] drm/i915: Introduce a for_each_intel_crtc() macro Damien Lespiau
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Damien Lespiau @ 2014-05-13 14:30 UTC (permalink / raw)
  To: intel-gfx

Another round of those pesky preparation patches, hopefully making the code
better along the way.

For the for_each_crtc() and for_each_intel_crtc() macro, I was thinking about
introducing them early and use them as we touch code iterating over crtcs.
They have been pretty handy in patches not yet ready for public consumption.

--
Damien

Damien Lespiau (5):
  drm/i915: Introduce a for_each_intel_crtc() macro
  drm/i915: Introduce a for_each_crtc() macro
  drm/i915: Expose ilk_wm_max_level()
  drm/i915: Use ilk_wm_max_level() in latency debugfs files
  drm/i915: Don't cast void* pointers

 drivers/gpu/drm/i915/i915_debugfs.c | 78 ++++++++++++++++++-------------------
 drivers/gpu/drm/i915/i915_drv.h     |  6 +++
 drivers/gpu/drm/i915/intel_drv.h    |  1 +
 drivers/gpu/drm/i915/intel_pm.c     |  2 +-
 4 files changed, 47 insertions(+), 40 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/5] drm/i915: Introduce a for_each_intel_crtc() macro
  2014-05-13 14:30 [PATCH 0/5] Misc preparation patches Damien Lespiau
@ 2014-05-13 14:30 ` Damien Lespiau
  2014-05-13 14:30 ` [PATCH 2/5] drm/i915: Introduce a for_each_crtc() macro Damien Lespiau
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Damien Lespiau @ 2014-05-13 14:30 UTC (permalink / raw)
  To: intel-gfx

Fed up with having that long list_for_each_entry() invocation?

Use for_each_intel_crtc()!

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5f4f631..9ed53a9 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -163,6 +163,9 @@ enum hpd_pin {
 #define for_each_pipe(p) for ((p) = 0; (p) < INTEL_INFO(dev)->num_pipes; (p)++)
 #define for_each_sprite(p, s) for ((s) = 0; (s) < INTEL_INFO(dev)->num_sprites[(p)]; (s)++)
 
+#define for_each_intel_crtc(dev, intel_crtc) \
+	list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head)
+
 #define for_each_encoder_on_crtc(dev, __crtc, intel_encoder) \
 	list_for_each_entry((intel_encoder), &(dev)->mode_config.encoder_list, base.head) \
 		if ((intel_encoder)->base.crtc == (__crtc))
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/5] drm/i915: Introduce a for_each_crtc() macro
  2014-05-13 14:30 [PATCH 0/5] Misc preparation patches Damien Lespiau
  2014-05-13 14:30 ` [PATCH 1/5] drm/i915: Introduce a for_each_intel_crtc() macro Damien Lespiau
@ 2014-05-13 14:30 ` Damien Lespiau
  2014-05-13 16:45   ` Daniel Vetter
  2014-05-13 14:30 ` [PATCH 3/5] drm/i915: Expose ilk_wm_max_level() Damien Lespiau
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Damien Lespiau @ 2014-05-13 14:30 UTC (permalink / raw)
  To: intel-gfx

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9ed53a9..f6967ef 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -163,6 +163,9 @@ enum hpd_pin {
 #define for_each_pipe(p) for ((p) = 0; (p) < INTEL_INFO(dev)->num_pipes; (p)++)
 #define for_each_sprite(p, s) for ((s) = 0; (s) < INTEL_INFO(dev)->num_sprites[(p)]; (s)++)
 
+#define for_each_crtc(dev, crtc) \
+	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
+
 #define for_each_intel_crtc(dev, intel_crtc) \
 	list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head)
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/5] drm/i915: Expose ilk_wm_max_level()
  2014-05-13 14:30 [PATCH 0/5] Misc preparation patches Damien Lespiau
  2014-05-13 14:30 ` [PATCH 1/5] drm/i915: Introduce a for_each_intel_crtc() macro Damien Lespiau
  2014-05-13 14:30 ` [PATCH 2/5] drm/i915: Introduce a for_each_crtc() macro Damien Lespiau
@ 2014-05-13 14:30 ` Damien Lespiau
  2014-05-13 14:30 ` [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files Damien Lespiau
  2014-05-13 14:30 ` [PATCH 5/5] drm/i915: Don't cast void* pointers Damien Lespiau
  4 siblings, 0 replies; 13+ messages in thread
From: Damien Lespiau @ 2014-05-13 14:30 UTC (permalink / raw)
  To: intel-gfx

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 drivers/gpu/drm/i915/intel_drv.h | 1 +
 drivers/gpu/drm/i915/intel_pm.c  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index d8b540b..97a2c56 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -902,6 +902,7 @@ extern struct drm_display_mode *intel_find_panel_downclock(
 /* intel_pm.c */
 void intel_init_clock_gating(struct drm_device *dev);
 void intel_suspend_hw(struct drm_device *dev);
+int ilk_wm_max_level(const struct drm_device *dev);
 void intel_update_watermarks(struct drm_crtc *crtc);
 void intel_update_sprite_watermarks(struct drm_plane *plane,
 				    struct drm_crtc *crtc,
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 834c49c..98ff5e5 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -2077,7 +2077,7 @@ static void intel_fixup_cur_wm_latency(struct drm_device *dev, uint16_t wm[5])
 		wm[3] *= 2;
 }
 
-static int ilk_wm_max_level(const struct drm_device *dev)
+int ilk_wm_max_level(const struct drm_device *dev)
 {
 	/* how many WM levels are we expecting */
 	if (IS_HASWELL(dev) || IS_BROADWELL(dev))
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files
  2014-05-13 14:30 [PATCH 0/5] Misc preparation patches Damien Lespiau
                   ` (2 preceding siblings ...)
  2014-05-13 14:30 ` [PATCH 3/5] drm/i915: Expose ilk_wm_max_level() Damien Lespiau
@ 2014-05-13 14:30 ` Damien Lespiau
  2014-05-13 16:30   ` Ville Syrjälä
  2014-05-13 16:46   ` Daniel Vetter
  2014-05-13 14:30 ` [PATCH 5/5] drm/i915: Don't cast void* pointers Damien Lespiau
  4 siblings, 2 replies; 13+ messages in thread
From: Damien Lespiau @ 2014-05-13 14:30 UTC (permalink / raw)
  To: intel-gfx

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 18b3565..6801987 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -3084,7 +3084,7 @@ static const struct file_operations i915_display_crc_ctl_fops = {
 static void wm_latency_show(struct seq_file *m, const uint16_t wm[5])
 {
 	struct drm_device *dev = m->private;
-	int num_levels = IS_HASWELL(dev) || IS_BROADWELL(dev) ? 5 : 4;
+	int num_levels = ilk_wm_max_level(dev) + 1;
 	int level;
 
 	drm_modeset_lock_all(dev);
@@ -3167,7 +3167,7 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
 	struct seq_file *m = file->private_data;
 	struct drm_device *dev = m->private;
 	uint16_t new[5] = { 0 };
-	int num_levels = IS_HASWELL(dev) || IS_BROADWELL(dev) ? 5 : 4;
+	int num_levels = ilk_wm_max_level(dev) + 1;
 	int level;
 	int ret;
 	char tmp[32];
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 5/5] drm/i915: Don't cast void* pointers
  2014-05-13 14:30 [PATCH 0/5] Misc preparation patches Damien Lespiau
                   ` (3 preceding siblings ...)
  2014-05-13 14:30 ` [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files Damien Lespiau
@ 2014-05-13 14:30 ` Damien Lespiau
  2014-05-13 16:45   ` Daniel Vetter
  4 siblings, 1 reply; 13+ messages in thread
From: Damien Lespiau @ 2014-05-13 14:30 UTC (permalink / raw)
  To: intel-gfx

That's not necessary and makes the code not as neat as it could be.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 74 ++++++++++++++++++-------------------
 1 file changed, 37 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 6801987..2739bba 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -79,7 +79,7 @@ drm_add_fake_info_node(struct drm_minor *minor,
 
 static int i915_capabilities(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	const struct intel_device_info *info = INTEL_INFO(dev);
 
@@ -181,7 +181,7 @@ static void describe_ctx(struct seq_file *m, struct i915_hw_context *ctx)
 
 static int i915_gem_object_list_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	uintptr_t list = (uintptr_t) node->info_ent->data;
 	struct list_head *head;
 	struct drm_device *dev = node->minor->dev;
@@ -239,7 +239,7 @@ static int obj_rank_by_stolen(void *priv,
 
 static int i915_gem_stolen_list_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct drm_i915_gem_object *obj;
@@ -371,7 +371,7 @@ static int per_file_stats(int id, void *ptr, void *data)
 
 static int i915_gem_object_info(struct seq_file *m, void* data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	u32 count, mappable_count, purgeable_count;
@@ -474,7 +474,7 @@ static int i915_gem_object_info(struct seq_file *m, void* data)
 
 static int i915_gem_gtt_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	uintptr_t list = (uintptr_t) node->info_ent->data;
 	struct drm_i915_private *dev_priv = dev->dev_private;
@@ -509,7 +509,7 @@ static int i915_gem_gtt_info(struct seq_file *m, void *data)
 
 static int i915_gem_pageflip_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	unsigned long flags;
 	struct intel_crtc *crtc;
@@ -559,7 +559,7 @@ static int i915_gem_pageflip_info(struct seq_file *m, void *data)
 
 static int i915_gem_request_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_ring_buffer *ring;
@@ -604,7 +604,7 @@ static void i915_ring_seqno_info(struct seq_file *m,
 
 static int i915_gem_seqno_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_ring_buffer *ring;
@@ -627,7 +627,7 @@ static int i915_gem_seqno_info(struct seq_file *m, void *data)
 
 static int i915_interrupt_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_ring_buffer *ring;
@@ -768,7 +768,7 @@ static int i915_interrupt_info(struct seq_file *m, void *data)
 
 static int i915_gem_fence_regs_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	int i, ret;
@@ -797,7 +797,7 @@ static int i915_gem_fence_regs_info(struct seq_file *m, void *data)
 
 static int i915_hws_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_ring_buffer *ring;
@@ -945,7 +945,7 @@ DEFINE_SIMPLE_ATTRIBUTE(i915_next_seqno_fops,
 
 static int i915_rstdby_delays(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	u16 crstanddelay;
@@ -968,7 +968,7 @@ static int i915_rstdby_delays(struct seq_file *m, void *unused)
 
 static int i915_frequency_info(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	int ret = 0;
@@ -1108,7 +1108,7 @@ out:
 
 static int i915_delayfreq_table(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	u32 delayfreq;
@@ -1139,7 +1139,7 @@ static inline int MAP_TO_MV(int map)
 
 static int i915_inttoext_table(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	u32 inttoext;
@@ -1163,7 +1163,7 @@ static int i915_inttoext_table(struct seq_file *m, void *unused)
 
 static int ironlake_drpc_info(struct seq_file *m)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	u32 rgvmodectl, rstdbyctl;
@@ -1233,7 +1233,7 @@ static int ironlake_drpc_info(struct seq_file *m)
 static int vlv_drpc_info(struct seq_file *m)
 {
 
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	u32 rpmodectl1, rcctl1;
@@ -1286,7 +1286,7 @@ static int vlv_drpc_info(struct seq_file *m)
 static int gen6_drpc_info(struct seq_file *m)
 {
 
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	u32 rpmodectl1, gt_core_status, rcctl1, rc6vids = 0;
@@ -1385,7 +1385,7 @@ static int gen6_drpc_info(struct seq_file *m)
 
 static int i915_drpc_info(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 
 	if (IS_VALLEYVIEW(dev))
@@ -1398,7 +1398,7 @@ static int i915_drpc_info(struct seq_file *m, void *unused)
 
 static int i915_fbc_status(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 
@@ -1460,7 +1460,7 @@ static int i915_fbc_status(struct seq_file *m, void *unused)
 
 static int i915_ips_status(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 
@@ -1483,7 +1483,7 @@ static int i915_ips_status(struct seq_file *m, void *unused)
 
 static int i915_sr_status(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	bool sr_enabled = false;
@@ -1509,7 +1509,7 @@ static int i915_sr_status(struct seq_file *m, void *unused)
 
 static int i915_emon_status(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	unsigned long temp, chipset, gfx;
@@ -1537,7 +1537,7 @@ static int i915_emon_status(struct seq_file *m, void *unused)
 
 static int i915_ring_freq_table(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	int ret = 0;
@@ -1580,7 +1580,7 @@ out:
 
 static int i915_gfxec(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	int ret;
@@ -1600,7 +1600,7 @@ static int i915_gfxec(struct seq_file *m, void *unused)
 
 static int i915_opregion(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_opregion *opregion = &dev_priv->opregion;
@@ -1628,7 +1628,7 @@ out:
 
 static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct intel_fbdev *ifbdev = NULL;
 	struct intel_framebuffer *fb;
@@ -1674,7 +1674,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
 
 static int i915_context_status(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_ring_buffer *ring;
@@ -1718,7 +1718,7 @@ static int i915_context_status(struct seq_file *m, void *unused)
 
 static int i915_gen6_forcewake_count_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	unsigned forcewake_count = 0, fw_rendercount = 0, fw_mediacount = 0;
@@ -1766,7 +1766,7 @@ static const char *swizzle_string(unsigned swizzle)
 
 static int i915_swizzle_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	int ret;
@@ -1890,7 +1890,7 @@ static void gen6_ppgtt_info(struct seq_file *m, struct drm_device *dev)
 
 static int i915_ppgtt_info(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 
@@ -1912,7 +1912,7 @@ static int i915_ppgtt_info(struct seq_file *m, void *data)
 
 static int i915_llc(struct seq_file *m, void *data)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 
@@ -2018,7 +2018,7 @@ static int i915_energy_uJ(struct seq_file *m, void *data)
 
 static int i915_pc8_status(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 
@@ -2093,7 +2093,7 @@ static const char *power_domain_str(enum intel_display_power_domain domain)
 
 static int i915_power_domain_info(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct i915_power_domains *power_domains = &dev_priv->power_domains;
@@ -2148,7 +2148,7 @@ static void intel_encoder_info(struct seq_file *m,
 			       struct intel_crtc *intel_crtc,
 			       struct intel_encoder *intel_encoder)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_crtc *crtc = &intel_crtc->base;
 	struct intel_connector *intel_connector;
@@ -2175,7 +2175,7 @@ static void intel_encoder_info(struct seq_file *m,
 
 static void intel_crtc_info(struct seq_file *m, struct intel_crtc *intel_crtc)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_crtc *crtc = &intel_crtc->base;
 	struct intel_encoder *intel_encoder;
@@ -2295,7 +2295,7 @@ static bool cursor_position(struct drm_device *dev, int pipe, int *x, int *y)
 
 static int i915_display_info(struct seq_file *m, void *unused)
 {
-	struct drm_info_node *node = (struct drm_info_node *) m->private;
+	struct drm_info_node *node = m->private;
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_crtc *crtc;
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files
  2014-05-13 14:30 ` [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files Damien Lespiau
@ 2014-05-13 16:30   ` Ville Syrjälä
  2014-05-13 16:46   ` Daniel Vetter
  1 sibling, 0 replies; 13+ messages in thread
From: Ville Syrjälä @ 2014-05-13 16:30 UTC (permalink / raw)
  To: Damien Lespiau; +Cc: intel-gfx

On Tue, May 13, 2014 at 03:30:27PM +0100, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 18b3565..6801987 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -3084,7 +3084,7 @@ static const struct file_operations i915_display_crc_ctl_fops = {
>  static void wm_latency_show(struct seq_file *m, const uint16_t wm[5])
>  {
>  	struct drm_device *dev = m->private;
> -	int num_levels = IS_HASWELL(dev) || IS_BROADWELL(dev) ? 5 : 4;
> +	int num_levels = ilk_wm_max_level(dev) + 1;
>  	int level;
>  
>  	drm_modeset_lock_all(dev);
> @@ -3167,7 +3167,7 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>  	struct seq_file *m = file->private_data;
>  	struct drm_device *dev = m->private;
>  	uint16_t new[5] = { 0 };
> -	int num_levels = IS_HASWELL(dev) || IS_BROADWELL(dev) ? 5 : 4;
> +	int num_levels = ilk_wm_max_level(dev) + 1;

One idea that has been rattling in my head would be to introduce
dev_priv->wm.max_level or some such thing that would be computed
dynamically like so:
dev_priv->wm.max_level = min(hw_max, last_level_with_valid_latency_value);

This way we could actually disable some of the deeper levels without
worrying that the watermark code will encounter a zero latency value
somewhere. We could even do other crazy things like trying out LP3
on ILK ;)

But that's a bit orthogonal, and even then this patch does make sense.

For patches 3-5:
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

I'll let someone else bikeshed the for_each_crtc macros.

>  	int level;
>  	int ret;
>  	char tmp[32];
> -- 
> 1.8.3.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/5] drm/i915: Introduce a for_each_crtc() macro
  2014-05-13 14:30 ` [PATCH 2/5] drm/i915: Introduce a for_each_crtc() macro Damien Lespiau
@ 2014-05-13 16:45   ` Daniel Vetter
  2014-05-13 19:51     ` Daniel Vetter
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel Vetter @ 2014-05-13 16:45 UTC (permalink / raw)
  To: Damien Lespiau; +Cc: intel-gfx

On Tue, May 13, 2014 at 03:30:25PM +0100, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>

cocinelle for these two over the entire tree?
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_drv.h | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 9ed53a9..f6967ef 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -163,6 +163,9 @@ enum hpd_pin {
>  #define for_each_pipe(p) for ((p) = 0; (p) < INTEL_INFO(dev)->num_pipes; (p)++)
>  #define for_each_sprite(p, s) for ((s) = 0; (s) < INTEL_INFO(dev)->num_sprites[(p)]; (s)++)
>  
> +#define for_each_crtc(dev, crtc) \
> +	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
> +
>  #define for_each_intel_crtc(dev, intel_crtc) \
>  	list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head)
>  
> -- 
> 1.8.3.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 5/5] drm/i915: Don't cast void* pointers
  2014-05-13 14:30 ` [PATCH 5/5] drm/i915: Don't cast void* pointers Damien Lespiau
@ 2014-05-13 16:45   ` Daniel Vetter
  0 siblings, 0 replies; 13+ messages in thread
From: Daniel Vetter @ 2014-05-13 16:45 UTC (permalink / raw)
  To: Damien Lespiau; +Cc: intel-gfx

On Tue, May 13, 2014 at 03:30:28PM +0100, Damien Lespiau wrote:
> That's not necessary and makes the code not as neat as it could be.
> 
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>

Queued for -next, thanks for the patch.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 74 ++++++++++++++++++-------------------
>  1 file changed, 37 insertions(+), 37 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 6801987..2739bba 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -79,7 +79,7 @@ drm_add_fake_info_node(struct drm_minor *minor,
>  
>  static int i915_capabilities(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	const struct intel_device_info *info = INTEL_INFO(dev);
>  
> @@ -181,7 +181,7 @@ static void describe_ctx(struct seq_file *m, struct i915_hw_context *ctx)
>  
>  static int i915_gem_object_list_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	uintptr_t list = (uintptr_t) node->info_ent->data;
>  	struct list_head *head;
>  	struct drm_device *dev = node->minor->dev;
> @@ -239,7 +239,7 @@ static int obj_rank_by_stolen(void *priv,
>  
>  static int i915_gem_stolen_list_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct drm_i915_gem_object *obj;
> @@ -371,7 +371,7 @@ static int per_file_stats(int id, void *ptr, void *data)
>  
>  static int i915_gem_object_info(struct seq_file *m, void* data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	u32 count, mappable_count, purgeable_count;
> @@ -474,7 +474,7 @@ static int i915_gem_object_info(struct seq_file *m, void* data)
>  
>  static int i915_gem_gtt_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	uintptr_t list = (uintptr_t) node->info_ent->data;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
> @@ -509,7 +509,7 @@ static int i915_gem_gtt_info(struct seq_file *m, void *data)
>  
>  static int i915_gem_pageflip_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	unsigned long flags;
>  	struct intel_crtc *crtc;
> @@ -559,7 +559,7 @@ static int i915_gem_pageflip_info(struct seq_file *m, void *data)
>  
>  static int i915_gem_request_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_ring_buffer *ring;
> @@ -604,7 +604,7 @@ static void i915_ring_seqno_info(struct seq_file *m,
>  
>  static int i915_gem_seqno_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_ring_buffer *ring;
> @@ -627,7 +627,7 @@ static int i915_gem_seqno_info(struct seq_file *m, void *data)
>  
>  static int i915_interrupt_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_ring_buffer *ring;
> @@ -768,7 +768,7 @@ static int i915_interrupt_info(struct seq_file *m, void *data)
>  
>  static int i915_gem_fence_regs_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	int i, ret;
> @@ -797,7 +797,7 @@ static int i915_gem_fence_regs_info(struct seq_file *m, void *data)
>  
>  static int i915_hws_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_ring_buffer *ring;
> @@ -945,7 +945,7 @@ DEFINE_SIMPLE_ATTRIBUTE(i915_next_seqno_fops,
>  
>  static int i915_rstdby_delays(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	u16 crstanddelay;
> @@ -968,7 +968,7 @@ static int i915_rstdby_delays(struct seq_file *m, void *unused)
>  
>  static int i915_frequency_info(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	int ret = 0;
> @@ -1108,7 +1108,7 @@ out:
>  
>  static int i915_delayfreq_table(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	u32 delayfreq;
> @@ -1139,7 +1139,7 @@ static inline int MAP_TO_MV(int map)
>  
>  static int i915_inttoext_table(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	u32 inttoext;
> @@ -1163,7 +1163,7 @@ static int i915_inttoext_table(struct seq_file *m, void *unused)
>  
>  static int ironlake_drpc_info(struct seq_file *m)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	u32 rgvmodectl, rstdbyctl;
> @@ -1233,7 +1233,7 @@ static int ironlake_drpc_info(struct seq_file *m)
>  static int vlv_drpc_info(struct seq_file *m)
>  {
>  
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	u32 rpmodectl1, rcctl1;
> @@ -1286,7 +1286,7 @@ static int vlv_drpc_info(struct seq_file *m)
>  static int gen6_drpc_info(struct seq_file *m)
>  {
>  
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	u32 rpmodectl1, gt_core_status, rcctl1, rc6vids = 0;
> @@ -1385,7 +1385,7 @@ static int gen6_drpc_info(struct seq_file *m)
>  
>  static int i915_drpc_info(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  
>  	if (IS_VALLEYVIEW(dev))
> @@ -1398,7 +1398,7 @@ static int i915_drpc_info(struct seq_file *m, void *unused)
>  
>  static int i915_fbc_status(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> @@ -1460,7 +1460,7 @@ static int i915_fbc_status(struct seq_file *m, void *unused)
>  
>  static int i915_ips_status(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> @@ -1483,7 +1483,7 @@ static int i915_ips_status(struct seq_file *m, void *unused)
>  
>  static int i915_sr_status(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	bool sr_enabled = false;
> @@ -1509,7 +1509,7 @@ static int i915_sr_status(struct seq_file *m, void *unused)
>  
>  static int i915_emon_status(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	unsigned long temp, chipset, gfx;
> @@ -1537,7 +1537,7 @@ static int i915_emon_status(struct seq_file *m, void *unused)
>  
>  static int i915_ring_freq_table(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	int ret = 0;
> @@ -1580,7 +1580,7 @@ out:
>  
>  static int i915_gfxec(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	int ret;
> @@ -1600,7 +1600,7 @@ static int i915_gfxec(struct seq_file *m, void *unused)
>  
>  static int i915_opregion(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_opregion *opregion = &dev_priv->opregion;
> @@ -1628,7 +1628,7 @@ out:
>  
>  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct intel_fbdev *ifbdev = NULL;
>  	struct intel_framebuffer *fb;
> @@ -1674,7 +1674,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>  
>  static int i915_context_status(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_ring_buffer *ring;
> @@ -1718,7 +1718,7 @@ static int i915_context_status(struct seq_file *m, void *unused)
>  
>  static int i915_gen6_forcewake_count_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	unsigned forcewake_count = 0, fw_rendercount = 0, fw_mediacount = 0;
> @@ -1766,7 +1766,7 @@ static const char *swizzle_string(unsigned swizzle)
>  
>  static int i915_swizzle_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	int ret;
> @@ -1890,7 +1890,7 @@ static void gen6_ppgtt_info(struct seq_file *m, struct drm_device *dev)
>  
>  static int i915_ppgtt_info(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> @@ -1912,7 +1912,7 @@ static int i915_ppgtt_info(struct seq_file *m, void *data)
>  
>  static int i915_llc(struct seq_file *m, void *data)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> @@ -2018,7 +2018,7 @@ static int i915_energy_uJ(struct seq_file *m, void *data)
>  
>  static int i915_pc8_status(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> @@ -2093,7 +2093,7 @@ static const char *power_domain_str(enum intel_display_power_domain domain)
>  
>  static int i915_power_domain_info(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct i915_power_domains *power_domains = &dev_priv->power_domains;
> @@ -2148,7 +2148,7 @@ static void intel_encoder_info(struct seq_file *m,
>  			       struct intel_crtc *intel_crtc,
>  			       struct intel_encoder *intel_encoder)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_crtc *crtc = &intel_crtc->base;
>  	struct intel_connector *intel_connector;
> @@ -2175,7 +2175,7 @@ static void intel_encoder_info(struct seq_file *m,
>  
>  static void intel_crtc_info(struct seq_file *m, struct intel_crtc *intel_crtc)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_crtc *crtc = &intel_crtc->base;
>  	struct intel_encoder *intel_encoder;
> @@ -2295,7 +2295,7 @@ static bool cursor_position(struct drm_device *dev, int pipe, int *x, int *y)
>  
>  static int i915_display_info(struct seq_file *m, void *unused)
>  {
> -	struct drm_info_node *node = (struct drm_info_node *) m->private;
> +	struct drm_info_node *node = m->private;
>  	struct drm_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_crtc *crtc;
> -- 
> 1.8.3.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files
  2014-05-13 14:30 ` [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files Damien Lespiau
  2014-05-13 16:30   ` Ville Syrjälä
@ 2014-05-13 16:46   ` Daniel Vetter
  2014-05-13 16:51     ` Damien Lespiau
  1 sibling, 1 reply; 13+ messages in thread
From: Daniel Vetter @ 2014-05-13 16:46 UTC (permalink / raw)
  To: Damien Lespiau; +Cc: intel-gfx

On Tue, May 13, 2014 at 03:30:27PM +0100, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>

I prefer "expose foo" and "use foo" in the same patch. I'll squash these
two if you're ok.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 18b3565..6801987 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -3084,7 +3084,7 @@ static const struct file_operations i915_display_crc_ctl_fops = {
>  static void wm_latency_show(struct seq_file *m, const uint16_t wm[5])
>  {
>  	struct drm_device *dev = m->private;
> -	int num_levels = IS_HASWELL(dev) || IS_BROADWELL(dev) ? 5 : 4;
> +	int num_levels = ilk_wm_max_level(dev) + 1;
>  	int level;
>  
>  	drm_modeset_lock_all(dev);
> @@ -3167,7 +3167,7 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>  	struct seq_file *m = file->private_data;
>  	struct drm_device *dev = m->private;
>  	uint16_t new[5] = { 0 };
> -	int num_levels = IS_HASWELL(dev) || IS_BROADWELL(dev) ? 5 : 4;
> +	int num_levels = ilk_wm_max_level(dev) + 1;
>  	int level;
>  	int ret;
>  	char tmp[32];
> -- 
> 1.8.3.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files
  2014-05-13 16:46   ` Daniel Vetter
@ 2014-05-13 16:51     ` Damien Lespiau
  2014-05-13 18:03       ` Daniel Vetter
  0 siblings, 1 reply; 13+ messages in thread
From: Damien Lespiau @ 2014-05-13 16:51 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

On Tue, May 13, 2014 at 06:46:23PM +0200, Daniel Vetter wrote:
> On Tue, May 13, 2014 at 03:30:27PM +0100, Damien Lespiau wrote:
> > Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> 
> I prefer "expose foo" and "use foo" in the same patch. I'll squash these
> two if you're ok.

Sure, no problem. There have been a lot of these in the past, so I was
just assuming that was the unspoken way of doing it. I sure don't mind
either way.

-- 
Damien

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files
  2014-05-13 16:51     ` Damien Lespiau
@ 2014-05-13 18:03       ` Daniel Vetter
  0 siblings, 0 replies; 13+ messages in thread
From: Daniel Vetter @ 2014-05-13 18:03 UTC (permalink / raw)
  To: Damien Lespiau; +Cc: intel-gfx

On Tue, May 13, 2014 at 05:51:45PM +0100, Damien Lespiau wrote:
> On Tue, May 13, 2014 at 06:46:23PM +0200, Daniel Vetter wrote:
> > On Tue, May 13, 2014 at 03:30:27PM +0100, Damien Lespiau wrote:
> > > Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> > 
> > I prefer "expose foo" and "use foo" in the same patch. I'll squash these
> > two if you're ok.
> 
> Sure, no problem. There have been a lot of these in the past, so I was
> just assuming that was the unspoken way of doing it. I sure don't mind
> either way.

Hm, I guess I'm not super-consistent with my bikesheds, but generally I
prefer this stuff squashed. Exception is patches to add piles of registers
to i915_reg.h, imo for those it makes sense to keep them separate. That
helps in review since the grunk work of double-checking Bspec is separate
from the more behavioural review of the actual code.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/5] drm/i915: Introduce a for_each_crtc() macro
  2014-05-13 16:45   ` Daniel Vetter
@ 2014-05-13 19:51     ` Daniel Vetter
  0 siblings, 0 replies; 13+ messages in thread
From: Daniel Vetter @ 2014-05-13 19:51 UTC (permalink / raw)
  To: Damien Lespiau; +Cc: intel-gfx

On Tue, May 13, 2014 at 06:45:02PM +0200, Daniel Vetter wrote:
> On Tue, May 13, 2014 at 03:30:25PM +0100, Damien Lespiau wrote:
> > Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> 
> cocinelle for these two over the entire tree?

Ok, after much swearing I think I've figured out the pattern here.
-Daniel

@@ 
iterator name list_for_each_entry;
iterator name for_each_crtc;
struct drm_crtc * crtc;
struct drm_device * dev;
@@
-list_for_each_entry(crtc,&dev->mode_config.crtc_list, head) {
+for_each_crtc(dev,crtc, head) {
...
}
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-05-13 19:51 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-13 14:30 [PATCH 0/5] Misc preparation patches Damien Lespiau
2014-05-13 14:30 ` [PATCH 1/5] drm/i915: Introduce a for_each_intel_crtc() macro Damien Lespiau
2014-05-13 14:30 ` [PATCH 2/5] drm/i915: Introduce a for_each_crtc() macro Damien Lespiau
2014-05-13 16:45   ` Daniel Vetter
2014-05-13 19:51     ` Daniel Vetter
2014-05-13 14:30 ` [PATCH 3/5] drm/i915: Expose ilk_wm_max_level() Damien Lespiau
2014-05-13 14:30 ` [PATCH 4/5] drm/i915: Use ilk_wm_max_level() in latency debugfs files Damien Lespiau
2014-05-13 16:30   ` Ville Syrjälä
2014-05-13 16:46   ` Daniel Vetter
2014-05-13 16:51     ` Damien Lespiau
2014-05-13 18:03       ` Daniel Vetter
2014-05-13 14:30 ` [PATCH 5/5] drm/i915: Don't cast void* pointers Damien Lespiau
2014-05-13 16:45   ` Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.