diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2023-11-01 19:28:35 +0300 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2023-11-01 19:28:35 +0300 | 
| commit | 7d461b291e65938f15f56fe58da2303b07578a76 (patch) | |
| tree | 015dd7c2f1743dd70be52787dd9aff33822bc938 /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |
| parent | 8bc9e6515183935fa0cccaf67455c439afe4982b (diff) | |
| parent | 631808095a82e6b6f8410a95f8b12b8d0d38b161 (diff) | |
| download | linux-7d461b291e65938f15f56fe58da2303b07578a76.tar.xz | |
Merge tag 'drm-next-2023-10-31-1' of git://anongit.freedesktop.org/drm/drm
Pull drm updates from Dave Airlie:
 "Highlights:
   - AMD adds some more upcoming HW platforms
   - Intel made Meteorlake stable and started adding Lunarlake
   - nouveau has a bunch of display rework in prepartion for the NVIDIA
     GSP firmware support
   - msm adds a7xx support
   - habanalabs has finished migration to accel subsystem
  Detail summary:
  kernel:
   - add initial vmemdup-user-array
  core:
   - fix platform remove() to return void
   - drm_file owner updated to reflect owner
   - move size calcs to drm buddy allocator
   - let GPUVM build as a module
   - allow variable number of run-queues in scheduler
  edid:
   - handle bad h/v sync_end in EDIDs
  panfrost:
   - add Boris as maintainer
  fbdev:
   - use fb_ops helpers more
   - only allow logo use from fbcon
   - rename fb_pgproto to pgprot_framebuffer
   - add HPD state to drm_connector_oob_hotplug_event
   - convert to fbdev i/o mem helpers
  i915:
   - Enable meteorlake by default
   - Early Xe2 LPD/Lunarlake display enablement
   - Rework subplatforms into IP version checks
   - GuC based TLB invalidation for Meteorlake
   - Display rework for future Xe driver integration
   - LNL FBC features
   - LNL display feature capability reads
   - update recommended fw versions for DG2+
   - drop fastboot module parameter
   - added deviceid for Arrowlake-S
   - drop preproduction workarounds
   - don't disable preemption for resets
   - cleanup inlines in headers
   - PXP firmware loading fix
   - Fix sg list lengths
   - DSC PPS state readout/verification
   - Add more RPL P/U PCI IDs
   - Add new DG2-G12 stepping
   - DP enhanced framing support to state checker
   - Improve shared link bandwidth management
   - stop using GEM macros in display code
   - refactor related code into display code
   - locally enable W=1 warnings
   - remove PSR watchdog timers on LNL
  amdgpu:
   - RAS/FRU EEPROM updatse
   - IP discovery updatses
   - GC 11.5 support
   - DCN 3.5 support
   - VPE 6.1 support
   - NBIO 7.11 support
   - DML2 support
   - lots of IP updates
   - use flexible arrays for bo list handling
   - W=1 fixes
   - Enable seamless boot in more cases
   - Enable context type property for HDMI
   - Rework GPUVM TLB flushing
   - VCN IB start/size alignment fixes
  amdkfd:
   - GC 10/11 fixes
   - GC 11.5 support
   - use partial migration in GPU faults
  radeon:
   - W=1 Fixes
   - fix some possible buffer overflow/NULL derefs
  nouveau:
   - update uapi for NO_PREFETCH
   - scheduler/fence fixes
   - rework suspend/resume for GSP-RM
   - rework display in preparation for GSP-RM
  habanalabs:
   - uapi: expose tsc clock
   - uapi: block access to eventfd through control device
   - uapi: force dma-buf export to PAGE_SIZE alignments
   - complete move to accel subsystem
   - move firmware interface include files
   - perform hard reset on PCIe AXI drain event
   - optimise user interrupt handling
  msm:
   - DP: use existing helpers for DPCD
   - DPU: interrupts reworked
   - gpu: a7xx (a730/a740) support
   - decouple msm_drv from kms for headless devices
  mediatek:
   - MT8188 dsi/dp/edp support
   - DDP GAMMA - 12 bit LUT support
   - connector dynamic selection capability
  rockchip:
   - rv1126 mipi-dsi/vop support
   - add planar formats
  ast:
   - rename constants
  panels:
   - Mitsubishi AA084XE01
   - JDI LPM102A188A
   - LTK050H3148W-CTA6
  ivpu:
   - power management fixes
  qaic:
   - add detach slice bo api
  komeda:
   - add NV12 writeback
  tegra:
   - support NVSYNC/NHSYNC
   - host1x suspend fixes
  ili9882t:
   - separate into own driver"
* tag 'drm-next-2023-10-31-1' of git://anongit.freedesktop.org/drm/drm: (1803 commits)
  drm/amdgpu: Remove unused variables from amdgpu_show_fdinfo
  drm/amdgpu: Remove duplicate fdinfo fields
  drm/amd/amdgpu: avoid to disable gfxhub interrupt when driver is unloaded
  drm/amdgpu: Add EXT_COHERENT support for APU and NUMA systems
  drm/amdgpu: Retrieve CE count from ce_count_lo_chip in EccInfo table
  drm/amdgpu: Identify data parity error corrected in replay mode
  drm/amdgpu: Fix typo in IP discovery parsing
  drm/amd/display: fix S/G display enablement
  drm/amdxcp: fix amdxcp unloads incompletely
  drm/amd/amdgpu: fix the GPU power print error in pm info
  drm/amdgpu: Use pcie domain of xcc acpi objects
  drm/amd: check num of link levels when update pcie param
  drm/amdgpu: Add a read to GFX v9.4.3 ring test
  drm/amd/pm: call smu_cmn_get_smc_version in is_mode1_reset_supported.
  drm/amdgpu: get RAS poison status from DF v4_6_2
  drm/amdgpu: Use discovery table's subrevision
  drm/amd/display: 3.2.256
  drm/amd/display: add interface to query SubVP status
  drm/amd/display: Read before writing Backlight Mode Set Register
  drm/amd/display: Disable SYMCLK32_SE RCO on DCN314
  ...
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 32 | 
1 files changed, 15 insertions, 17 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index ace837cfa0a6..0dcb6c36b02c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -459,7 +459,7 @@ void amdgpu_bo_free_kernel(struct amdgpu_bo **bo, u64 *gpu_addr,  		*cpu_addr = NULL;  } -/* Validate bo size is bit bigger then the request domain */ +/* Validate bo size is bit bigger than the request domain */  static bool amdgpu_bo_validate_size(struct amdgpu_device *adev,  					  unsigned long size, u32 domain)  { @@ -469,29 +469,24 @@ static bool amdgpu_bo_validate_size(struct amdgpu_device *adev,  	 * If GTT is part of requested domains the check must succeed to  	 * allow fall back to GTT.  	 */ -	if (domain & AMDGPU_GEM_DOMAIN_GTT) { +	if (domain & AMDGPU_GEM_DOMAIN_GTT)  		man = ttm_manager_type(&adev->mman.bdev, TTM_PL_TT); - -		if (man && size < man->size) -			return true; -		else if (!man) -			WARN_ON_ONCE("GTT domain requested but GTT mem manager uninitialized"); -		goto fail; -	} else if (domain & AMDGPU_GEM_DOMAIN_VRAM) { +	else if (domain & AMDGPU_GEM_DOMAIN_VRAM)  		man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM); +	else +		return true; -		if (man && size < man->size) -			return true; -		goto fail; +	if (!man) { +		if (domain & AMDGPU_GEM_DOMAIN_GTT) +			WARN_ON_ONCE("GTT domain requested but GTT mem manager uninitialized"); +		return false;  	}  	/* TODO add more domains checks, such as AMDGPU_GEM_DOMAIN_CPU, _DOMAIN_DOORBELL */ -	return true; +	if (size < man->size) +		return true; -fail: -	if (man) -		DRM_DEBUG("BO size %lu > total memory in domain: %llu\n", size, -			  man->size); +	DRM_DEBUG("BO size %lu > total memory in domain: %llu\n", size, man->size);  	return false;  } @@ -1067,6 +1062,9 @@ static const char * const amdgpu_vram_names[] = {   */  int amdgpu_bo_init(struct amdgpu_device *adev)  { +	/* set the default AGP aperture state */ +	amdgpu_gmc_set_agp_default(adev, &adev->gmc); +  	/* On A+A platform, VRAM can be mapped as WB */  	if (!adev->gmc.xgmi.connected_to_cpu && !adev->gmc.is_app_apu) {  		/* reserve PAT memory space to WC for VRAM */ | 
