diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-11-21 14:56:17 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-11-21 14:56:17 -0800 | 
| commit | 28eb75e178d389d325f1666e422bc13bbbb9804c (patch) | |
| tree | 20417b4e798f98fc5687e80c1e0126afcf437c70 /drivers/gpu/drm/ast/ast_post.c | |
| parent | 071b34dcf71523a559b6c39f5d21a268a9531b50 (diff) | |
| parent | a163b895077861598be48c1cf7f4a88413c28b22 (diff) | |
Merge tag 'drm-next-2024-11-21' of https://gitlab.freedesktop.org/drm/kernel
Pull drm updates from Dave Airlie:
 "There's a lot of rework, the panic helper support is being added to
  more drivers, v3d gets support for HW superpages, scheduler
  documentation, drm client and video aperture reworks, some new
  MAINTAINERS added, amdgpu has the usual lots of IP refactors, Intel
  has some Pantherlake enablement and xe is getting some SRIOV bits, but
  just lots of stuff everywhere.
  core:
   - split DSC helpers from DP helpers
   - clang build fixes for drm/mm test
   - drop simple pipeline support for gem vram
   - document submission error signaling
   - move drm_rect to drm core module from kms helper
   - add default client setup to most drivers
   - move to video aperture helpers instead of drm ones
  tests:
   - new framebuffer tests
  ttm:
   - remove swapped and pinned BOs from TTM lru
  panic:
   - fix uninit spinlock
   - add ABGR2101010 support
  bridge:
   - add TI TDP158 support
   - use standard PM OPS
  dma-fence:
   - use read_trylock instead of read_lock to help lockdep
  scheduler:
   - add errno to sched start to report different errors
   - add locking to drm_sched_entity_modify_sched
   - improve documentation
  xe:
   - add drm_line_printer
   - lots of refactoring
   - Enable Xe2 + PES disaggregation
   - add new ARL PCI ID
   - SRIOV development work
   - fix exec unnecessary implicit fence
   - define and parse OA sync props
   - forcewake refactoring
  i915:
   - Enable BMG/LNL ultra joiner
   - Enable 10bpx + CCS scanout on ICL+, fp16/CCS on TGL+
   - use DSB for plane/color mgmt
   - Arrow lake PCI IDs
   - lots of i915/xe display refactoring
   - enable PXP GuC autoteardown
   - Pantherlake (PTL) Xe3 LPD display enablement
   - Allow fastset HDR infoframe changes
   - write DP source OUI for non-eDP sinks
   - share PCI IDs between i915 and xe
  amdgpu:
   - SDMA queue reset support
   - SMU 13.0.6, JPEG 4.0.3 updates
   - Initial runtime repartitioning support
   - rework IP structs for multiple IP instances
   - Fetch EDID from _DDC if available
   - SMU13 zero rpm user control
   - lots of fixes/cleanups
  amdkfd:
   - Increase event FIFO size
   - add topology cap flag for per queue reset
  msm:
   - DPU:
      - SA8775P support
      - (disabled by default) MSM8917, MSM8937, MSM8953 and MSM8996 support
      - Enable large framebuffer support
      - Drop MSM8998 and SDM845
   - DP:
      - SA8775P support
   - GPU:
      - a7xx preemption support
      - Adreno A663 support
  ast:
   - warn about unsupported TX chips
  ivpu:
   - add coredump
   - add pantherlake support
  rockchip:
   - 4K@60Hz display enablement
   - generate pll programming tables
  panthor:
   - add timestamp query API
   - add realtime group priority
   - add fdinfo support
  etnaviv:
   - improve handling of DMA address limits
   - improve GPU hangcheck
  exynos:
   - Decon Exynos7870 support
  mediatek:
   - add OF graph support
  omap:
   - locking fixes
  bochs:
   - convert to gem/shmem from simpledrm
  v3d:
   - support big/super pages
   - add gemfs
  vc4:
   - BCM2712 support refactoring
   - add YUV444 format support
  udmabuf:
   - folio related fixes
  nouveau:
   - add panic support on nv50+"
* tag 'drm-next-2024-11-21' of https://gitlab.freedesktop.org/drm/kernel: (1583 commits)
  drm/xe/guc: Fix dereference before NULL check
  drm/amd: Fix initialization mistake for NBIO 7.7.0
  Revert "drm/amd/display: parse umc_info or vram_info based on ASIC"
  drm/amd/display: Fix failure to read vram info due to static BP_RESULT
  drm/amdgpu: enable GTT fallback handling for dGPUs only
  drm/amd/amdgpu: limit single process inside MES
  drm/fourcc: add AMD_FMT_MOD_TILE_GFX9_4K_D_X
  drm/amdgpu/mes12: correct kiq unmap latency
  drm/amdgpu: Support vcn and jpeg error info parsing
  drm/amd : Update MES API header file for v11 & v12
  drm/amd/amdkfd: add/remove kfd queues on start/stop KFD scheduling
  drm/amdkfd: change kfd process kref count at creation
  drm/amdgpu: Cleanup shift coding style
  drm/amd/amdgpu: Increase MES log buffer to dump mes scratch data
  drm/amdgpu: Implement virt req_ras_err_count
  drm/amdgpu: VF Query RAS Caps from Host if supported
  drm/amdgpu: Add msg handlers for SRIOV RAS Telemetry
  drm/amdgpu: Update SRIOV Exchange Headers for RAS Telemetry Support
  drm/amd/display: 3.2.309
  drm/amd/display: Adjust VSDB parser for replay feature
  ...
Diffstat (limited to 'drivers/gpu/drm/ast/ast_post.c')
| -rw-r--r-- | drivers/gpu/drm/ast/ast_post.c | 36 | 
1 files changed, 15 insertions, 21 deletions
| diff --git a/drivers/gpu/drm/ast/ast_post.c b/drivers/gpu/drm/ast/ast_post.c index 65755798ab94..364030f97571 100644 --- a/drivers/gpu/drm/ast/ast_post.c +++ b/drivers/gpu/drm/ast/ast_post.c @@ -34,16 +34,14 @@  #include "ast_dram_tables.h"  #include "ast_drv.h" -static void ast_post_chip_2300(struct drm_device *dev); -static void ast_post_chip_2500(struct drm_device *dev); +static void ast_post_chip_2300(struct ast_device *ast); +static void ast_post_chip_2500(struct ast_device *ast);  static const u8 extreginfo[] = { 0x0f, 0x04, 0x1c, 0xff };  static const u8 extreginfo_ast2300[] = { 0x0f, 0x04, 0x1f, 0xff }; -static void -ast_set_def_ext_reg(struct drm_device *dev) +static void ast_set_def_ext_reg(struct ast_device *ast)  { -	struct ast_device *ast = to_ast_device(dev);  	u8 i, index, reg;  	const u8 *ext_reg_info; @@ -252,9 +250,8 @@ cbr_start: -static void ast_init_dram_reg(struct drm_device *dev) +static void ast_init_dram_reg(struct ast_device *ast)  { -	struct ast_device *ast = to_ast_device(dev);  	u8 j;  	u32 data, temp, i;  	const struct ast_dramstruct *dram_reg_info; @@ -343,26 +340,24 @@ static void ast_init_dram_reg(struct drm_device *dev)  	} while ((j & 0x40) == 0);  } -void ast_post_gpu(struct drm_device *dev) +void ast_post_gpu(struct ast_device *ast)  { -	struct ast_device *ast = to_ast_device(dev); - -	ast_set_def_ext_reg(dev); +	ast_set_def_ext_reg(ast);  	if (IS_AST_GEN7(ast)) { -		if (ast->tx_chip_types & AST_TX_ASTDP_BIT) +		if (ast->tx_chip == AST_TX_ASTDP)  			ast_dp_launch(ast);  	} else if (ast->config_mode == ast_use_p2a) {  		if (IS_AST_GEN6(ast)) -			ast_post_chip_2500(dev); +			ast_post_chip_2500(ast);  		else if (IS_AST_GEN5(ast) || IS_AST_GEN4(ast)) -			ast_post_chip_2300(dev); +			ast_post_chip_2300(ast);  		else -			ast_init_dram_reg(dev); +			ast_init_dram_reg(ast); -		ast_init_3rdtx(dev); +		ast_init_3rdtx(ast);  	} else { -		if (ast->tx_chip_types & AST_TX_SIL164_BIT) +		if (ast->tx_chip == AST_TX_SIL164)  			ast_set_index_reg_mask(ast, AST_IO_VGACRI, 0xa3, 0xcf, 0x80);	/* Enable DVO */  	}  } @@ -1569,9 +1564,8 @@ ddr2_init_start:  } -static void ast_post_chip_2300(struct drm_device *dev) +static void ast_post_chip_2300(struct ast_device *ast)  { -	struct ast_device *ast = to_ast_device(dev);  	struct ast2300_dram_param param;  	u32 temp;  	u8 reg; @@ -2038,9 +2032,9 @@ void ast_patch_ahb_2500(void __iomem *regs)  	__ast_moutdwm(regs, 0x1e6e207c, 0x08000000); /* clear fast reset */  } -void ast_post_chip_2500(struct drm_device *dev) +void ast_post_chip_2500(struct ast_device *ast)  { -	struct ast_device *ast = to_ast_device(dev); +	struct drm_device *dev = &ast->base;  	u32 temp;  	u8 reg; | 
