mirror-linux/drivers/gpu/drm
Chia-I Wu 4e04683022 drm/panthor: add custom ASN_HASH support for mt8196
Add panthor_soc_data to control custom ASN_HASH. Add compatible string
for "mediatek,mt8196-mali" and enable custom ASN_HASH for the soc.

Without custom ASN_HASH, FW fails to boot

  panthor 48000000.gpu: [drm] *ERROR* Unhandled Page fault in AS0 at VA 0x0000000000000000
  panthor 48000000.gpu: [drm] *ERROR* Failed to boot MCU (status=fatal)
  panthor 48000000.gpu: probe with driver panthor failed with error -110

With custom ASN_HASH, panthor probes fine and userspace boots to ui just
fine as well

  panthor 48000000.gpu: [drm] clock rate = 0
  panthor 48000000.gpu: EM: created perf domain
  panthor 48000000.gpu: [drm] Mali-G925-Immortalis id 0xd830 major 0x0 minor 0x1 status 0x5
  panthor 48000000.gpu: [drm] Features: L2:0x8130306 Tiler:0x809 Mem:0x301 MMU:0x2830 AS:0xff
  panthor 48000000.gpu: [drm] shader_present=0xee0077 l2_present=0x1 tiler_present=0x1
  panthor 48000000.gpu: [drm] Firmware protected mode entry not be supported, ignoring
  panthor 48000000.gpu: [drm] Firmware git sha: 27713280172c742d467a4b7d11180930094092ec
  panthor 48000000.gpu: [drm] CSF FW using interface v3.13.0, Features 0x10 Instrumentation features 0x71
  [drm] Initialized panthor 1.5.0 for 48000000.gpu on minor 1

Note that the clock and the regulator drivers are not upstreamed yet.
They might as well take a different form when upstreamed.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://lore.kernel.org/r/20250913002155.1163908-3-olvaffe@gmail.com
2025-10-06 10:50:59 +01:00
..
adp
amd drm/ttm: rename ttm_bo_put to _fini v3 2025-09-17 14:03:21 +02:00
arm drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
armada drm/armada: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-07-16 20:07:32 +03:00
aspeed
ast drm/ast: Remove generic device initialization 2025-09-29 13:28:16 +02:00
atmel-hlcdc
bridge drm/bridge: imx: add driver for HDMI TX Parallel Audio Interface 2025-09-29 09:46:04 +08:00
ci
clients drm/fbdev-client: Skip DRM clients if modesetting is absent 2025-07-06 14:05:07 +03:00
display drm/display: bridge_connector: get/put the stored bridges 2025-10-03 08:48:43 +02:00
etnaviv drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
exynos drm/exynos: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 14:00:57 +02:00
fsl-dcu
gma500 drm/gma500: Remove unused helper psb_fbdev_fb_setcolreg() 2025-09-30 08:50:35 +02:00
gud drm/gud: fix accidentally deleted IS_ERR() check 2025-09-23 10:02:44 +02:00
hisilicon drm/hisilicon/hibmc: fix dp and vga cannot show together 2025-08-17 18:32:31 +03:00
hyperv drm/hypervdrm: Use vblank timer 2025-10-01 08:32:02 +02:00
i915 drm/ttm: rename ttm_bo_put to _fini v3 2025-09-17 14:03:21 +02:00
imagination drm/imagination: Enable PowerVR driver for RISC-V 2025-09-01 12:11:00 +01:00
imx drm/imx/ipuv3: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 14:00:57 +02:00
ingenic drm: Pass the format info to .fb_create() 2025-07-16 20:03:14 +03:00
kmb
lib
lima drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
logicvc
loongson drm/loongson: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 14:00:57 +02:00
mcde drm/mcde/mcde_clk_div: convert from round_rate() to determine_rate() 2025-09-15 15:08:15 +02:00
mediatek drm/mediatek: clean up driver data initialisation 2025-09-10 12:52:59 +00:00
meson
mgag200 drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
msm drm/msm: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 14:00:57 +02:00
mxsfb drm/mxsfb: put the bridge returned by drm_bridge_chain_get_first_bridge() 2025-07-22 13:01:28 +02:00
nouveau drm/nouveau: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 14:00:57 +02:00
nova Linux 6.17-rc6 2025-09-15 17:51:07 +10:00
omapdrm drm/omapdrm: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 14:00:57 +02:00
panel gpu/drm: panel-edp: add AUO B116XAN02.0 panel entry 2025-10-02 14:21:59 -07:00
panfrost drm/panfrost: Bump the minor version number 2025-09-19 10:37:59 +01:00
panthor drm/panthor: add custom ASN_HASH support for mt8196 2025-10-06 10:50:59 +01:00
pl111 drm/pl111: convert from round_rate() to determine_rate() 2025-09-15 15:08:43 +02:00
qxl drm/ttm: rename ttm_bo_put to _fini v3 2025-09-17 14:03:21 +02:00
radeon drm/ttm: rename ttm_bo_put to _fini v3 2025-09-17 14:03:21 +02:00
renesas drm: renesas: rz-du: Drop ARCH_RZG2L dependency 2025-10-04 12:37:11 +01:00
rockchip drm/rockchip: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 14:00:57 +02:00
scheduler drm/sched/tests: Remove relict of done_list 2025-09-19 14:10:34 +02:00
sitronix drm/sitronix/st7571-i2c: reset position before clearing display 2025-10-03 12:01:50 +02:00
solomon drm/solomon: Enforce one assignment per line 2025-09-26 15:04:46 +02:00
sprd
sti drm/sti: Remove redundant ternary operators 2025-09-05 13:17:21 +02:00
stm drm/stm/lvds: convert from round_rate() to determine_rate() 2025-09-15 15:08:44 +02:00
sun4i drm/sun4i/sun4i_tcon_dclk: convert from round_rate() to determine_rate() 2025-09-15 15:08:44 +02:00
sysfb drm/sysfb: simpledrm: Sort headers correctly 2025-09-23 15:59:01 +02:00
tegra drm/tegra: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 14:00:57 +02:00
tests drm/tests: make sure drm_client_modeset tests are enabled 2025-09-16 20:20:21 +03:00
tidss drm/tidss: crtc: Cleanup reset implementation 2025-09-30 11:57:12 +02:00
tilcdc
tiny drm/tiny/bochs: Convert dev_err() to drm_err() 2025-09-08 14:50:35 +02:00
ttm drm/ttm: rename ttm_bo_put to _fini v3 2025-09-17 14:03:21 +02:00
tve200
udl drm/gem-shmem: Do not map s/g table by default 2025-07-07 15:23:41 +02:00
v3d drm/v3d: Protect per-fd reset counter against fd release 2025-08-29 10:28:11 -03:00
vboxvideo
vc4 drm/vc4: hdmi: switch to generic CEC helpers 2025-09-15 21:42:55 +03:00
vgem drm/vgem/vgem_drv convert to use faux_device 2025-07-07 15:24:14 +02:00
virtio drm/virtio: clean up minor codestyle issues 2025-08-20 13:36:45 +03:00
vkms drm/vkms: Convert to DRM's vblank timer 2025-10-01 08:32:01 +02:00
vmwgfx drm/vmwgfx: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 14:00:57 +02:00
xe drm/xe: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 17:50:40 +02:00
xen drm/gem: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-07-16 20:05:58 +03:00
xlnx drm/xlnx: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 17:50:54 +02:00
Kconfig
Kconfig.debug
Makefile drm/vblank: Add vblank timer 2025-10-01 08:31:59 +02:00
drm_atomic.c drm/atomic: use drm_for_each_bridge_in_chain_scoped() 2025-09-16 15:02:41 +02:00
drm_atomic_helper.c drm/atomic-helper: put the bridge returned by drm_bridge_chain_get_first_bridge() 2025-07-22 13:01:28 +02:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm: re-allow no-op changes on non-primary planes in async flips 2025-08-22 14:31:21 -03:00
drm_auth.c
drm_blend.c
drm_bridge.c drm/bridge: refcount last_bridge in drm_atomic_bridge_chain_select_bus_fmts() 2025-10-03 09:05:25 +02:00
drm_bridge_helper.c
drm_buddy.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_cache.c drm/gpu: Remove dead checks on wbinvd_on_all_cpus()'s return value 2025-07-10 13:07:26 +02:00
drm_client.c
drm_client_event.c
drm_client_modeset.c drm/fb-helper: Synchronize dirty worker with vblank 2025-09-16 12:42:52 +02:00
drm_color_mgmt.c drm/color-mgmt: Prepare for RGB332 palettes 2025-08-26 09:54:18 +02:00
drm_connector.c
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c
drm_displayid.c
drm_displayid_internal.h
drm_draw.c
drm_draw_internal.h
drm_drv.c drm: Add a vendor-specific recovery method to drm device wedged uevent 2025-08-26 10:11:34 -04:00
drm_dumb_buffers.c drm/dumb-buffers: Provide helper to set pitch and size 2025-09-29 13:57:43 +02:00
drm_edid.c
drm_edid_load.c
drm_eld.c
drm_encoder.c
drm_exec.c
drm_fb_dma_helper.c
drm_fb_helper.c drm/fb-helper: Synchronize dirty worker with vblank 2025-09-16 12:42:52 +02:00
drm_fbdev_dma.c
drm_fbdev_shmem.c
drm_fbdev_ttm.c
drm_file.c
drm_flip_work.c
drm_format_helper.c drm/format-helper: Remove drm_fb_blit() 2025-09-23 15:06:06 +02:00
drm_format_internal.h
drm_fourcc.c drm: Pass pixel_format+modifier directly to drm_get_format_info() 2025-07-16 20:01:13 +03:00
drm_framebuffer.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_gem.c drm: Replace the deprecated DRM_* logging macros in gem helper files 2025-09-15 12:36:44 +02:00
drm_gem_atomic_helper.c
drm_gem_dma_helper.c drm/gem-dma: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 13:57:44 +02:00
drm_gem_framebuffer_helper.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_gem_shmem_helper.c drm/gem-shmem: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 13:57:45 +02:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c drm/ttm: rename ttm_bo_put to _fini v3 2025-09-17 14:03:21 +02:00
drm_gpusvm.c Merge drm/drm-next into drm-xe-next 2025-08-25 22:08:34 -07:00
drm_gpuvm.c Linux 6.17-rc6 2025-09-15 17:51:07 +10:00
drm_internal.h Merge drm/drm-next into drm-misc-n 2025-08-11 14:37:45 +02:00
drm_ioc32.c
drm_ioctl.c drm: Add DRM prime interface to reassign GEM handle 2025-07-18 08:59:24 +02:00
drm_kms_helper_common.c
drm_lease.c
drm_managed.c
drm_mipi_dbi.c
drm_mipi_dsi.c drm: Add MIPI read_multi func and two write macros 2025-08-14 15:42:26 -07:00
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c drm: Make passing of format info to drm_helper_mode_fill_fb_struct() mandatory 2025-07-16 20:12:35 +03:00
drm_modeset_lock.c
drm_of.c drm: of: fix documentation reference 2025-08-21 16:21:08 +02:00
drm_pagemap.c drm/pagemap: Allocate folios when possible 2025-08-06 13:34:58 +02:00
drm_panel.c drm/panel: Allow powering on panel follower after panel is enabled 2025-08-25 09:17:49 -07:00
drm_panel_backlight_quirks.c drm: panel-backlight-quirks: Add Steam Deck brightness quirk 2025-09-03 10:23:03 -05:00
drm_panel_orientation_quirks.c
drm_panic.c
drm_panic_qr.rs drm/panic: Add a u64 divide by 10 for arm32 2025-08-12 09:33:05 +02:00
drm_pci.c
drm_plane.c
drm_plane_helper.c
drm_prime.c Merge drm/drm-next into drm-misc-n 2025-08-11 14:37:45 +02:00
drm_print.c
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c drm/probe-helper: put the bridge returned by drm_bridge_chain_get_first_bridge() 2025-07-22 13:01:28 +02:00
drm_property.c
drm_rect.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c
drm_sysfs.c DRM: Add a new 'boot_display' attribute 2025-09-10 09:35:33 -05:00
drm_trace.h
drm_trace_points.c
drm_vblank.c drm/vblank: Add vblank timer 2025-10-01 08:31:59 +02:00
drm_vblank_helper.c drm/vblank: Add CRTC helpers for simple use cases 2025-10-01 08:32:00 +02:00
drm_vblank_work.c
drm_vma_manager.c
drm_writeback.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00