BACKPORT: drm/i915: add HAS_DDI check [chromiumos/third_party/kernel-next : chromeos-3.8]

2 views
Skip to first unread message

Josh Triplett (Code Review)

unread,
May 23, 2013, 2:24:48 PM5/23/13
to Olof Johansson
Josh Triplett has uploaded a new change for review.

https://gerrit.chromium.org/gerrit/56430


Change subject: BACKPORT: drm/i915: add HAS_DDI check
......................................................................

BACKPORT: drm/i915: add HAS_DDI check

And use it whenever we call code that uses the DDIs. We already have
intel_ddi.c and prefix every function with intel_ddi_something instead of
haswell_something, so I think replacing the checks with HAS_DDI makes more
sense. Just a cosmetical change, yes I know, but I have this OCD...

Signed-off-by: Paulo Zanoni <paulo.r...@intel.com>
Reviewed-by: Imre Deak <imre...@intel.com>
Signed-off-by: Daniel Vetter <daniel...@ffwll.ch>
(cherry picked from commit affa935440733a79c5a9eb0e5357e2564ca4b355)

BUG=chrome-os-partner:19682
TEST=With entire patch series applied, observe PC7 residency via powertop in
crosh.
Change-Id: Id5689b181d8867e0e8020819a977e97fadc663ab
---
M drivers/gpu/drm/i915/i915_drv.h
M drivers/gpu/drm/i915/intel_crt.c
M drivers/gpu/drm/i915/intel_ddi.c
M drivers/gpu/drm/i915/intel_display.c
M drivers/gpu/drm/i915/intel_dp.c
M drivers/gpu/drm/i915/intel_hdmi.c
6 files changed, 19 insertions(+), 18 deletions(-)


git pull ssh://gerrit.chromium.org:29418/chromiumos/third_party/kernel-next refs/changes/30/56430/1

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 128ae2c..3e97163 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1243,6 +1243,8 @@

#define HAS_PIPE_CONTROL(dev) (INTEL_INFO(dev)->gen >= 5)

+#define HAS_DDI(dev) (IS_HASWELL(dev))
+
#define INTEL_PCH_DEVICE_ID_MASK 0xff00
#define INTEL_PCH_IBX_DEVICE_ID_TYPE 0x3b00
#define INTEL_PCH_CPT_DEVICE_ID_TYPE 0x1c00
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 625b091..8ed7c30 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -770,7 +770,7 @@

crt->base.disable = intel_disable_crt;
crt->base.enable = intel_enable_crt;
- if (IS_HASWELL(dev))
+ if (HAS_DDI(dev))
crt->base.get_hw_state = intel_ddi_get_hw_state;
else
crt->base.get_hw_state = intel_crt_get_hw_state;
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 59b778d..debf25f 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -114,7 +114,7 @@
{
int port;

- if (IS_HASWELL(dev)) {
+ if (HAS_DDI(dev)) {
for (port = PORT_A; port < PORT_E; port++)
intel_prepare_ddi_buffers(dev, port, false);

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 1ce6110..8f51fd6 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1108,8 +1108,8 @@
enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
pipe);

- if (IS_HASWELL(dev_priv->dev)) {
- /* On Haswell, DDI is used instead of FDI_TX_CTL */
+ if (HAS_DDI(dev_priv->dev)) {
+ /* DDI does not have a specific FDI_TX register */
reg = TRANS_DDI_FUNC_CTL(cpu_transcoder);
val = I915_READ(reg);
cur_state = !!(val & TRANS_DDI_FUNC_ENABLE);
@@ -1153,7 +1153,7 @@
return;

/* On Haswell, DDI ports are responsible for the FDI PLL setup */
- if (IS_HASWELL(dev_priv->dev))
+ if (HAS_DDI(dev_priv->dev))
return;

reg = FDI_TX_CTL(pipe);
@@ -8266,7 +8266,7 @@

static void intel_cpu_pll_init(struct drm_device *dev)
{
- if (IS_HASWELL(dev))
+ if (HAS_DDI(dev))
intel_ddi_pll_init(dev);
}

@@ -8402,11 +8402,10 @@
I915_WRITE(PFIT_CONTROL, 0);
}

- if (!(IS_HASWELL(dev) &&
- (I915_READ(DDI_BUF_CTL(PORT_A)) & DDI_A_4_LANES)))
+ if (!(HAS_DDI(dev) && (I915_READ(DDI_BUF_CTL(PORT_A)) & DDI_A_4_LANES)))
intel_crt_init(dev);

- if (IS_HASWELL(dev)) {
+ if (HAS_DDI(dev)) {
int found;

/* Haswell uses DDI functions to detect digital outputs */
@@ -8666,7 +8665,7 @@
struct drm_i915_private *dev_priv = dev->dev_private;

/* We always want a DPMS function */
- if (IS_HASWELL(dev)) {
+ if (HAS_DDI(dev)) {
dev_priv->display.crtc_mode_set = haswell_crtc_mode_set;
dev_priv->display.crtc_enable = haswell_crtc_enable;
dev_priv->display.crtc_disable = haswell_crtc_disable;
@@ -9134,7 +9133,7 @@
struct intel_encoder *encoder;
struct intel_connector *connector;

- if (IS_HASWELL(dev)) {
+ if (HAS_DDI(dev)) {
tmp = I915_READ(TRANS_DDI_FUNC_CTL(TRANSCODER_EDP));

if (tmp & TRANS_DDI_FUNC_ENABLE) {
@@ -9175,7 +9174,7 @@
crtc->active ? "enabled" : "disabled");
}

- if (IS_HASWELL(dev))
+ if (HAS_DDI(dev))
intel_ddi_setup_hw_pll_state(dev);

list_for_each_entry(encoder, &dev->mode_config.encoder_list,
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 93afdb6..e631d37 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -379,7 +379,7 @@
* clock divider.
*/
if (is_cpu_edp(intel_dp)) {
- if (IS_HASWELL(dev))
+ if (HAS_DDI(dev))
aux_clock_divider = intel_ddi_get_cdclk_freq(dev_priv) >> 1;
else if (IS_VALLEYVIEW(dev))
aux_clock_divider = 100;
@@ -1827,7 +1827,7 @@
int voltage_tries, loop_tries;
uint32_t DP = intel_dp->DP;

- if (IS_HASWELL(dev))
+ if (HAS_DDI(dev))
intel_ddi_prepare_link_retrain(encoder);

/* Write the link configuration data */
@@ -2017,7 +2017,7 @@
* intel_ddi_prepare_link_retrain will take care of redoing the link
* train.
*/
- if (IS_HASWELL(dev))
+ if (HAS_DDI(dev))
return;

if (WARN_ON((I915_READ(intel_dp->output_reg) & DP_PORT_EN) == 0))
@@ -2829,7 +2829,7 @@
intel_connector_attach_encoder(intel_connector, intel_encoder);
drm_sysfs_connector_add(connector);

- if (IS_HASWELL(dev))
+ if (HAS_DDI(dev))
intel_connector->get_hw_state = intel_ddi_connector_get_hw_state;
else
intel_connector->get_hw_state = intel_connector_get_hw_state;
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index e7e0916..d1eda5b 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -48,7 +48,7 @@
struct drm_i915_private *dev_priv = dev->dev_private;
uint32_t enabled_bits;

- enabled_bits = IS_HASWELL(dev) ? DDI_BUF_CTL_ENABLE : SDVO_ENABLE;
+ enabled_bits = HAS_DDI(dev) ? DDI_BUF_CTL_ENABLE : SDVO_ENABLE;

WARN(I915_READ(intel_hdmi->sdvox_reg) & enabled_bits,
"HDMI port enabled, expecting disabled\n");
@@ -1024,7 +1024,7 @@
intel_hdmi->set_infoframes = cpt_set_infoframes;
}

- if (IS_HASWELL(dev))
+ if (HAS_DDI(dev))
intel_connector->get_hw_state = intel_ddi_connector_get_hw_state;
else
intel_connector->get_hw_state = intel_connector_get_hw_state;

--
To view, visit https://gerrit.chromium.org/gerrit/56430
To unsubscribe, visit https://gerrit.chromium.org/gerrit/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id5689b181d8867e0e8020819a977e97fadc663ab
Gerrit-PatchSet: 1
Gerrit-Project: chromiumos/third_party/kernel-next
Gerrit-Branch: chromeos-3.8
Gerrit-Owner: Josh Triplett <jo...@joshtriplett.org>

Josh Triplett (Code Review)

unread,
May 23, 2013, 2:30:13 PM5/23/13
to ChromeBot, Olof Johansson, Sonny Rao, sna...@google.com, Stéphane Marchesin
Josh Triplett has posted comments on this change.

Change subject: BACKPORT: drm/i915: add HAS_DDI check
......................................................................


Patch Set 1: Verified
Gerrit-MessageType: comment
Gerrit-Change-Id: Id5689b181d8867e0e8020819a977e97fadc663ab
Gerrit-PatchSet: 1
Gerrit-Project: chromiumos/third_party/kernel-next
Gerrit-Branch: chromeos-3.8
Gerrit-Owner: Josh Triplett <jo...@joshtriplett.org>
Gerrit-Reviewer: ChromeBot <chrom...@google.com>
Gerrit-Reviewer: Josh Triplett <jo...@joshtriplett.org>
Gerrit-Reviewer: Olof Johansson <ol...@chromium.org>
Gerrit-Reviewer: Sonny Rao <sonn...@chromium.org>
Gerrit-Reviewer: Stéphane Marchesin <mar...@chromium.org>
Gerrit-Reviewer: sna...@google.com

Stéphane Marchesin (Code Review)

unread,
May 23, 2013, 11:49:24 PM5/23/13
to Josh Triplett, ChromeBot, Olof Johansson, Sonny Rao, sna...@google.com
Stéphane Marchesin has posted comments on this change.

Change subject: BACKPORT: drm/i915: add HAS_DDI check
......................................................................


Patch Set 1: Looks good to me, approved
Gerrit-MessageType: comment
Gerrit-Change-Id: Id5689b181d8867e0e8020819a977e97fadc663ab
Gerrit-PatchSet: 1
Gerrit-Project: chromiumos/third_party/kernel-next
Gerrit-Branch: chromeos-3.8
Gerrit-Owner: Josh Triplett <jo...@joshtriplett.org>

Josh Triplett (Code Review)

unread,
May 24, 2013, 3:34:26 AM5/24/13
to ChromeBot, Olof Johansson, Sonny Rao, sna...@google.com, Stéphane Marchesin
Josh Triplett has posted comments on this change.

Change subject: BACKPORT: drm/i915: add HAS_DDI check
......................................................................


Patch Set 1: Ready
Gerrit-MessageType: comment
Gerrit-Change-Id: Id5689b181d8867e0e8020819a977e97fadc663ab
Gerrit-PatchSet: 1
Gerrit-Project: chromiumos/third_party/kernel-next
Gerrit-Branch: chromeos-3.8
Gerrit-Owner: Josh Triplett <jo...@joshtriplett.org>
Reply all
Reply to author
Forward
0 new messages