[1/2] drm/i915: Advertise ppgtt support type in platform definition

Submitted by Michel Thierry on Dec. 6, 2016, 1:57 a.m.

Details

Message ID 20161206015704.12654-1-michel.thierry@intel.com
State Accepted
Commit 9e1d0e604e0e6bd32a55c5c2780ef0687a86c4b6
Headers show
Series "Series without cover letter" ( rev: 1 ) in Intel GFX

Not browsing as part of any series.

Commit Message

Michel Thierry Dec. 6, 2016, 1:57 a.m.
Instead of being hidden in sanitize_enable_ppgtt.
It also seems to be the place to do so nowadays.

Signed-off-by: Michel Thierry <michel.thierry@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h     |  3 +++
 drivers/gpu/drm/i915/i915_gem_gtt.c |  7 +++----
 drivers/gpu/drm/i915/i915_pci.c     | 11 +++++++++++
 3 files changed, 17 insertions(+), 4 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 605247b..88e70fe 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -710,11 +710,14 @@  struct intel_csr {
 	func(is_alpha_support); \
 	/* Keep has_* in alphabetical order */ \
 	func(has_64bit_reloc); \
+	func(has_aliasing_ppgtt); \
 	func(has_csr); \
 	func(has_ddi); \
 	func(has_dp_mst); \
 	func(has_fbc); \
 	func(has_fpga_dbg); \
+	func(has_full_ppgtt); \
+	func(has_full_48bit_ppgtt); \
 	func(has_gmbus_irq); \
 	func(has_gmch_display); \
 	func(has_guc); \
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 88ddca2..ef00d36 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -113,10 +113,9 @@  int intel_sanitize_enable_ppgtt(struct drm_i915_private *dev_priv,
 	bool has_full_ppgtt;
 	bool has_full_48bit_ppgtt;
 
-	has_aliasing_ppgtt = INTEL_GEN(dev_priv) >= 6;
-	has_full_ppgtt = INTEL_GEN(dev_priv) >= 7;
-	has_full_48bit_ppgtt =
-	       	IS_BROADWELL(dev_priv) || INTEL_GEN(dev_priv) >= 9;
+	has_aliasing_ppgtt = dev_priv->info.has_aliasing_ppgtt;
+	has_full_ppgtt = dev_priv->info.has_full_ppgtt;
+	has_full_48bit_ppgtt = dev_priv->info.has_full_48bit_ppgtt;
 
 	if (intel_vgpu_active(dev_priv)) {
 		/* emulation is too hard */
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 389a330..d0b060a 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -204,6 +204,7 @@  static const struct intel_device_info intel_ironlake_m_info = {
 	.has_rc6p = 1, \
 	.has_gmbus_irq = 1, \
 	.has_hw_contexts = 1, \
+	.has_aliasing_ppgtt = 1, \
 	GEN_DEFAULT_PIPEOFFSETS, \
 	CURSOR_OFFSETS
 
@@ -226,6 +227,8 @@  static const struct intel_device_info intel_sandybridge_m_info = {
 	.has_rc6p = 1, \
 	.has_gmbus_irq = 1, \
 	.has_hw_contexts = 1, \
+	.has_aliasing_ppgtt = 1, \
+	.has_full_ppgtt = 1, \
 	GEN_DEFAULT_PIPEOFFSETS, \
 	IVB_CURSOR_OFFSETS
 
@@ -258,6 +261,8 @@  static const struct intel_device_info intel_ivybridge_q_info = {
 	.has_hw_contexts = 1, \
 	.has_gmch_display = 1, \
 	.has_hotplug = 1, \
+	.has_aliasing_ppgtt = 1, \
+	.has_full_ppgtt = 1, \
 	.ring_mask = RENDER_RING | BSD_RING | BLT_RING, \
 	.display_mmio_offset = VLV_DISPLAY_BASE, \
 	GEN_DEFAULT_PIPEOFFSETS, \
@@ -289,6 +294,7 @@  static const struct intel_device_info intel_haswell_info = {
 	HSW_FEATURES, \
 	BDW_COLORS, \
 	.has_logical_ring_contexts = 1, \
+	.has_full_48bit_ppgtt = 1, \
 	.has_64bit_reloc = 1
 
 static const struct intel_device_info intel_broadwell_info = {
@@ -318,6 +324,8 @@  static const struct intel_device_info intel_cherryview_info = {
 	.has_hw_contexts = 1,
 	.has_logical_ring_contexts = 1,
 	.has_gmch_display = 1,
+	.has_aliasing_ppgtt = 1,
+	.has_full_ppgtt = 1,
 	.display_mmio_offset = VLV_DISPLAY_BASE,
 	GEN_CHV_PIPEOFFSETS,
 	CURSOR_OFFSETS,
@@ -364,6 +372,9 @@  static const struct intel_device_info intel_skylake_gt3_info = {
 	.has_logical_ring_contexts = 1, \
 	.has_guc = 1, \
 	.has_decoupled_mmio = 1, \
+	.has_aliasing_ppgtt = 1, \
+	.has_full_ppgtt = 1, \
+	.has_full_48bit_ppgtt = 1, \
 	GEN_DEFAULT_PIPEOFFSETS, \
 	IVB_CURSOR_OFFSETS, \
 	BDW_COLORS

Comments

On Mon, Dec 05, 2016 at 05:57:03PM -0800, Michel Thierry wrote:
> Instead of being hidden in sanitize_enable_ppgtt.
> It also seems to be the place to do so nowadays.

Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>

-Michał
 
> Signed-off-by: Michel Thierry <michel.thierry@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.h     |  3 +++
>  drivers/gpu/drm/i915/i915_gem_gtt.c |  7 +++----
>  drivers/gpu/drm/i915/i915_pci.c     | 11 +++++++++++
>  3 files changed, 17 insertions(+), 4 deletions(-)
On 05/12/16 18:15, Patchwork wrote:
> == Series Details ==
>
> Series: series starting with [1/2] drm/i915: Advertise ppgtt support type in platform definition
> URL   : https://patchwork.freedesktop.org/series/16403/
> State : warning
>
> == Summary ==
>
> Series 16403v1 Series without cover letter
> https://patchwork.freedesktop.org/api/1.0/series/16403/revisions/1/mbox/
>
> Test kms_pipe_crc_basic:
>         Subgroup nonblocking-crc-pipe-a:
>                 pass       -> DMESG-WARN (fi-snb-2520m)
>

[  486.586950] [drm:drm_edid_block_valid] *ERROR* EDID checksum is 
invalid, remainder is 117

This is already reported in 
https://bugs.freedesktop.org/show_bug.cgi?id=98625 {[SNB BAT] HDMI: EDID 
checksum is invalid}

Thanks to Michał for reviewing the patches.

-Michel

> fi-bdw-5557u     total:247  pass:232  dwarn:0   dfail:0   fail:0   skip:15
> fi-bsw-n3050     total:247  pass:207  dwarn:0   dfail:0   fail:0   skip:40
> fi-bxt-t5700     total:247  pass:219  dwarn:0   dfail:0   fail:0   skip:28
> fi-byt-j1900     total:247  pass:219  dwarn:0   dfail:0   fail:0   skip:28
> fi-byt-n2820     total:247  pass:215  dwarn:0   dfail:0   fail:0   skip:32
> fi-hsw-4770      total:247  pass:227  dwarn:0   dfail:0   fail:0   skip:20
> fi-hsw-4770r     total:247  pass:227  dwarn:0   dfail:0   fail:0   skip:20
> fi-ilk-650       total:247  pass:194  dwarn:0   dfail:0   fail:0   skip:53
> fi-ivb-3520m     total:247  pass:225  dwarn:0   dfail:0   fail:0   skip:22
> fi-ivb-3770      total:247  pass:225  dwarn:0   dfail:0   fail:0   skip:22
> fi-kbl-7500u     total:247  pass:225  dwarn:0   dfail:0   fail:0   skip:22
> fi-skl-6260u     total:247  pass:233  dwarn:0   dfail:0   fail:0   skip:14
> fi-skl-6700hq    total:247  pass:226  dwarn:0   dfail:0   fail:0   skip:21
> fi-skl-6700k     total:247  pass:223  dwarn:3   dfail:0   fail:0   skip:21
> fi-skl-6770hq    total:247  pass:233  dwarn:0   dfail:0   fail:0   skip:14
> fi-snb-2520m     total:247  pass:214  dwarn:1   dfail:0   fail:0   skip:32
> fi-snb-2600      total:247  pass:214  dwarn:0   dfail:0   fail:0   skip:33
>
> c3ccb720019c23b0c1fff182214a7ad26af519b8 drm-tip: 2016y-12m-05d-20h-50m-01s UTC integration manifest
> f38c193 drm/i915: Keep has_* in alphabetical order
> 92d7853 drm/i915: Advertise ppgtt support type in platform definition
>
> == Logs ==
>
> For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_3200/
>
On 06/12/2016 17:57, Michel Thierry wrote:
> On 05/12/16 18:15, Patchwork wrote:
>> == Series Details ==
>>
>> Series: series starting with [1/2] drm/i915: Advertise ppgtt support
>> type in platform definition
>> URL   : https://patchwork.freedesktop.org/series/16403/
>> State : warning
>>
>> == Summary ==
>>
>> Series 16403v1 Series without cover letter
>> https://patchwork.freedesktop.org/api/1.0/series/16403/revisions/1/mbox/
>>
>> Test kms_pipe_crc_basic:
>>         Subgroup nonblocking-crc-pipe-a:
>>                 pass       -> DMESG-WARN (fi-snb-2520m)
>>
>
> [  486.586950] [drm:drm_edid_block_valid] *ERROR* EDID checksum is
> invalid, remainder is 117
>
> This is already reported in
> https://bugs.freedesktop.org/show_bug.cgi?id=98625 {[SNB BAT] HDMI: EDID
> checksum is invalid}
>
> Thanks to Michał for reviewing the patches.

Pushed to dinq, thanks for the patches and review!

Regards,

Tvrtko