Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'drm-fixes-2022-12-02' of git://anongit.freedesktop.org/drm/drm

Pull drm fixes from Dave Airlie:
"Things do seem to have finally settled down, just four i915 and one
amdgpu this week. Probably won't have much for next week if you do
push rc8 out.

i915:
- Fix dram info readout
- Remove non-existent pipes from bigjoiner pipe mask
- Fix negative value passed as remaining time
- Never return 0 if not all requests retired

amdgpu:
- VCN fix for vangogh"

* tag 'drm-fixes-2022-12-02' of git://anongit.freedesktop.org/drm/drm:
drm/amdgpu: enable Vangogh VCN indirect sram mode
drm/i915: Never return 0 if not all requests retired
drm/i915: Fix negative value passed as remaining time
drm/i915: Remove non-existent pipes from bigjoiner pipe mask
drm/i915/mtl: Fix dram info readout

+19 -8
+3
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
··· 156 156 break; 157 157 case IP_VERSION(3, 0, 2): 158 158 fw_name = FIRMWARE_VANGOGH; 159 + if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && 160 + (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) 161 + adev->vcn.indirect_sram = true; 159 162 break; 160 163 case IP_VERSION(3, 0, 16): 161 164 fw_name = FIRMWARE_DIMGREY_CAVEFISH;
+7 -3
drivers/gpu/drm/i915/display/intel_display.c
··· 3723 3723 3724 3724 static u8 bigjoiner_pipes(struct drm_i915_private *i915) 3725 3725 { 3726 + u8 pipes; 3727 + 3726 3728 if (DISPLAY_VER(i915) >= 12) 3727 - return BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D); 3729 + pipes = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D); 3728 3730 else if (DISPLAY_VER(i915) >= 11) 3729 - return BIT(PIPE_B) | BIT(PIPE_C); 3731 + pipes = BIT(PIPE_B) | BIT(PIPE_C); 3730 3732 else 3731 - return 0; 3733 + pipes = 0; 3734 + 3735 + return pipes & RUNTIME_INFO(i915)->pipe_mask; 3732 3736 } 3733 3737 3734 3738 static bool transcoder_ddi_func_is_enabled(struct drm_i915_private *dev_priv,
+7 -2
drivers/gpu/drm/i915/gt/intel_gt.c
··· 625 625 return -EINTR; 626 626 } 627 627 628 - return timeout ? timeout : intel_uc_wait_for_idle(&gt->uc, 629 - remaining_timeout); 628 + if (timeout) 629 + return timeout; 630 + 631 + if (remaining_timeout < 0) 632 + remaining_timeout = 0; 633 + 634 + return intel_uc_wait_for_idle(&gt->uc, remaining_timeout); 630 635 } 631 636 632 637 int intel_gt_init(struct intel_gt *gt)
+1 -1
drivers/gpu/drm/i915/gt/intel_gt_requests.c
··· 199 199 if (remaining_timeout) 200 200 *remaining_timeout = timeout; 201 201 202 - return active_count ? timeout : 0; 202 + return active_count ? timeout ?: -ETIME : 0; 203 203 } 204 204 205 205 static void retire_work_handler(struct work_struct *work)
+1 -2
drivers/gpu/drm/i915/intel_dram.c
··· 471 471 u32 val = intel_uncore_read(&i915->uncore, MTL_MEM_SS_INFO_GLOBAL); 472 472 struct dram_info *dram_info = &i915->dram_info; 473 473 474 - val = REG_FIELD_GET(MTL_DDR_TYPE_MASK, val); 475 - switch (val) { 474 + switch (REG_FIELD_GET(MTL_DDR_TYPE_MASK, val)) { 476 475 case 0: 477 476 dram_info->type = INTEL_DRAM_DDR4; 478 477 break;