After the per-PPGTT address mode gets support, the LRC submission should
generate the address mode bit from PPGTT instance, instead of the
hard-coded system configuration.

Signed-off-by: Zhi Wang <zhi.a.w...@intel.com>
---
 drivers/gpu/drm/i915/intel_lrc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 62158af..01ea99c2 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -213,7 +213,7 @@ enum {
        LEGACY_64B_CONTEXT
 };
 #define GEN8_CTX_ADDRESSING_MODE_SHIFT 3
-#define GEN8_CTX_ADDRESSING_MODE(dev)  (USES_FULL_48BIT_PPGTT(dev) ?\
+#define GEN8_CTX_ADDRESSING_MODE(ppgtt) (IS_48BIT_PPGTT(ppgtt) ? \
                LEGACY_64B_CONTEXT :\
                LEGACY_32B_CONTEXT)
 enum {
@@ -274,8 +274,6 @@ logical_ring_init_platform_invariants(struct 
intel_engine_cs *ring)
                                        (ring->id == VCS || ring->id == VCS2);
 
        ring->ctx_desc_template = GEN8_CTX_VALID;
-       ring->ctx_desc_template |= GEN8_CTX_ADDRESSING_MODE(dev) <<
-                                  GEN8_CTX_ADDRESSING_MODE_SHIFT;
        if (IS_GEN8(dev))
                ring->ctx_desc_template |= GEN8_CTX_L3LLC_COHERENT;
        ring->ctx_desc_template |= GEN8_CTX_PRIVILEGE;
@@ -318,6 +316,8 @@ intel_lr_context_descriptor_update(struct intel_context 
*ctx,
               LRC_PPHWSP_PN * PAGE_SIZE;
 
        desc = ring->ctx_desc_template;                    /* bits  0-11 */
+       desc |= GEN8_CTX_ADDRESSING_MODE(ctx->ppgtt) <<    /* bits  3-4 */
+                       GEN8_CTX_ADDRESSING_MODE_SHIFT;
        desc |= lrca;                                      /* bits 12-31 */
        desc |= (lrca >> PAGE_SHIFT) << GEN8_CTX_ID_SHIFT; /* bits 32-51 */
 
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to