Christian König
d72277b6c3
dma-buf: nuke DMA_FENCE_TRACE macros v2
...
Only the DRM GPU scheduler, radeon and amdgpu where using them and they depend
on a non existing config option to actually emit some code.
v2: keep the signal path as is for now
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20210818105443.1578-1-christian.koenig@amd.com
2021-09-02 12:40:52 +02:00
Daniel Vetter
0e10e9a1db
drm/sched: drop entity parameter from drm_sched_push_job
...
Originally a job was only bound to the queue when we pushed this, but
now that's done in drm_sched_job_init, making that parameter entirely
redundant.
Remove it.
The same applies to the context parameter in
lima_sched_context_queue_task, simplify that too.
v2:
Rebase on top of msm adopting drm/sched
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Emma Anholt <emma@anholt.net >
Acked-by: Melissa Wen <mwen@igalia.com >
Reviewed-by: Steven Price <steven.price@arm.com > (v1)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com > (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Lucas Stach <l.stach@pengutronix.de >
Cc: Russell King <linux+etnaviv@armlinux.org.uk >
Cc: Christian Gmeiner <christian.gmeiner@gmail.com >
Cc: Qiang Yu <yuq825@gmail.com >
Cc: Rob Herring <robh@kernel.org >
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Cc: Steven Price <steven.price@arm.com >
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Cc: Emma Anholt <emma@anholt.net >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Nirmoy Das <nirmoy.das@amd.com >
Cc: Dave Airlie <airlied@redhat.com >
Cc: Chen Li <chenli@uniontech.com >
Cc: Lee Jones <lee.jones@linaro.org >
Cc: Deepak R Varma <mh12gx2825@gmail.com >
Cc: Kevin Wang <kevin1.wang@amd.com >
Cc: Luben Tuikov <luben.tuikov@amd.com >
Cc: "Marek Olšák" <marek.olsak@amd.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Cc: Dennis Li <Dennis.Li@amd.com >
Cc: Boris Brezillon <boris.brezillon@collabora.com >
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Cc: Rob Clark <robdclark@gmail.com >
Cc: Sean Paul <sean@poorly.run >
Cc: Melissa Wen <mwen@igalia.com >
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Link: https://patchwork.freedesktop.org/patch/msgid/20210805104705.862416-6-daniel.vetter@ffwll.ch
2021-08-30 10:54:45 +02:00
Daniel Vetter
dbe48d030b
drm/sched: Split drm_sched_job_init
...
This is a very confusingly named function, because not just does it
init an object, it arms it and provides a point of no return for
pushing a job into the scheduler. It would be nice if that's a bit
clearer in the interface.
But the real reason is that I want to push the dependency tracking
helpers into the scheduler code, and that means drm_sched_job_init
must be called a lot earlier, without arming the job.
v2:
- don't change .gitignore (Steven)
- don't forget v3d (Emma)
v3: Emma noticed that I leak the memory allocated in
drm_sched_job_init if we bail out before the point of no return in
subsequent driver patches. To be able to fix this change
drm_sched_job_cleanup() so it can handle being called both before and
after drm_sched_job_arm().
Also improve the kerneldoc for this.
v4:
- Fix the drm_sched_job_cleanup logic, I inverted the booleans, as
usual (Melissa)
- Christian pointed out that drm_sched_entity_select_rq() also needs
to be moved into drm_sched_job_arm, which made me realize that the
job->id definitely needs to be moved too.
Shuffle things to fit between job_init and job_arm.
v5:
Reshuffle the split between init/arm once more, amdgpu abuses
drm_sched.ready to signal gpu reset failures. Also document this
somewhat. (Christian)
v6:
Rebase on top of the msm drm/sched support. Note that the
drm_sched_job_init() call is completely misplaced, and hence also the
split-out drm_sched_entity_push_job(). I've put in a FIXME which the next
patch will address.
v7: Drop the FIXME in msm, after discussions with Rob I agree it shouldn't
be a problem where it is now.
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Melissa Wen <mwen@igalia.com >
Cc: Melissa Wen <melissa.srw@gmail.com >
Acked-by: Emma Anholt <emma@anholt.net >
Acked-by: Steven Price <steven.price@arm.com > (v2)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com > (v5)
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Lucas Stach <l.stach@pengutronix.de >
Cc: Russell King <linux+etnaviv@armlinux.org.uk >
Cc: Christian Gmeiner <christian.gmeiner@gmail.com >
Cc: Qiang Yu <yuq825@gmail.com >
Cc: Rob Herring <robh@kernel.org >
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Cc: Steven Price <steven.price@arm.com >
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Kees Cook <keescook@chromium.org >
Cc: Adam Borowski <kilobyte@angband.pl >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Cc: Paul Menzel <pmenzel@molgen.mpg.de >
Cc: Sami Tolvanen <samitolvanen@google.com >
Cc: Viresh Kumar <viresh.kumar@linaro.org >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Dave Airlie <airlied@redhat.com >
Cc: Nirmoy Das <nirmoy.das@amd.com >
Cc: Deepak R Varma <mh12gx2825@gmail.com >
Cc: Lee Jones <lee.jones@linaro.org >
Cc: Kevin Wang <kevin1.wang@amd.com >
Cc: Chen Li <chenli@uniontech.com >
Cc: Luben Tuikov <luben.tuikov@amd.com >
Cc: "Marek Olšák" <marek.olsak@amd.com >
Cc: Dennis Li <Dennis.Li@amd.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Cc: Sonny Jiang <sonny.jiang@amd.com >
Cc: Boris Brezillon <boris.brezillon@collabora.com >
Cc: Tian Tao <tiantao6@hisilicon.com >
Cc: etnaviv@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Cc: Emma Anholt <emma@anholt.net >
Cc: Rob Clark <robdclark@gmail.com >
Cc: Sean Paul <sean@poorly.run >
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Link: https://patchwork.freedesktop.org/patch/msgid/20210817084917.3555822-1-daniel.vetter@ffwll.ch
2021-08-30 10:50:44 +02:00
Christian König
d5f45d1e2f
drm/ttm: remove ttm_tt_destroy_common v2
...
Move the functionality into ttm_tt_fini and ttm_bo_tt_destroy instead.
We don't need this any more since we removed the unbind from the destroy
code paths in the drivers.
Also add a warning to ttm_tt_fini() if we try to fini a still populated TT
object.
v2: instead of reverting the patch move the functionality to different
places.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210728130552.2074-5-christian.koenig@amd.com
2021-08-23 13:54:55 +02:00
Christian König
b7e8b086ff
drm/amdgpu: unbind in amdgpu_ttm_tt_unpopulate
...
Doing this in amdgpu_ttm_backend_destroy() is to late.
It turned out that this is not a good idea at all because it leaves pointers
to freed up system memory pages in the GART tables of the drivers.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210728130552.2074-2-christian.koenig@amd.com
2021-08-23 13:43:04 +02:00
Thomas Zimmermann
450d61794d
drm/amdgpu: Convert to Linux IRQ interfaces
...
Drop the DRM IRQ midlayer in favor of Linux IRQ interfaces. DRM's
IRQ helpers are mostly useful for UMS drivers. Modern KMS drivers
don't benefit from using it.
DRM IRQ callbacks are now being called directly or inlined.
The interrupt number returned by pci_msi_vector() is now stored
in struct amdgpu_irq. Calls to pci_msi_vector() can fail and return
a negative errno code. Abort initlaizaton in thi case. The DRM IRQ
midlayer does not handle this correctly.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210803090704.32152-2-tzimmermann@suse.de
2021-08-10 20:00:44 +02:00
Dave Airlie
04d505de7f
Merge tag 'amd-drm-next-5.15-2021-07-29' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
...
amd-drm-next-5.15-2021-07-29:
amdgpu:
- VCN/JPEG power down sequencing fixes
- Various navi pcie link handling fixes
- Clockgating fixes
- Yellow Carp fixes
- Beige Goby fixes
- Misc code cleanups
- S0ix fixes
- SMU i2c bus rework
- EEPROM handling rework
- PSP ucode handling cleanup
- SMU error handling rework
- AMD HDMI freesync fixes
- USB PD firmware update rework
- MMIO based vram access rework
- Misc display fixes
- Backlight fixes
- Add initial Cyan Skillfish support
- Overclocking fixes suspend/resume
amdkfd:
- Sysfs leak fix
- Add counters for vm faults and migration
- GPUVM TLB optimizations
radeon:
- Misc fixes
Signed-off-by: Dave Airlie <airlied@redhat.com >
From: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210730033455.3852-1-alexander.deucher@amd.com
2021-07-30 16:48:35 +10:00
Huang Rui
b8e42844b4
drm/amdgpu: enable psp front door loading by default for cyan_skillfish2
...
The function is ready on psp firmware, and enable it by default.
Signed-off-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Tao Zhou <tao.zhou1@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 22:15:44 -04:00
Likun Gao
8d35a25961
drm/amdgpu: adjust fence driver enable sequence
...
Fence driver was enabled per ring when sw init on per IP block before.
Change to enable all the fence driver at the same time after
amdgpu_device_ip_init finished.
Rename some function related to fence to make it reasonable for read.
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 22:15:44 -04:00
John Clements
edc8c81f24
drm/amdgpu: Added PSP13 BL loading support for additional drivers
...
Added BL loading support for soc/intf/dbg drivers
Signed-off-by: John Clements <john.clements@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 22:15:44 -04:00
John Clements
8abadab37f
drm/amdgpu: Consolidated PSP13 BL FW loading
...
Remove duplicate code
Signed-off-by: John Clements <john.clements@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 22:15:43 -04:00
John Clements
6ff34fd690
drm/amdgpu: Added support for added psp driver binaries FW
...
Detect psp driver binaries packed into FW and try to load the FW
Signed-off-by: John Clements <john.clements@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 22:15:35 -04:00
John Clements
f8e487ce83
drm/amdgpu: Added latest PSP FW header
...
Improved handling for scalling PSP FW binaries
Signed-off-by: John Clements <john.clements@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 22:10:33 -04:00
Huang Rui
b84d029d9f
drm/amdgpu: remove the access of xxx_PSP_DEBUG on cycan_skillfish
...
It won't need to clear the xxx_PSP_DEBUG registers, because firmware
will handle this change.
Signed-off-by: Huang Rui <ray.huang@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 22:10:26 -04:00
Alex Deucher
7fd13baeb7
drm/amdgpu/display: add support for multiple backlights
...
On platforms that support multiple backlights, register
each one separately. This lets us manage them independently
rather than registering a single backlight and applying the
same settings to both.
v2: fix typo:
Reported-by: kernel test robot <lkp@intel.com >
Reviewed-by: Roman Li <Roman.Li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 22:10:15 -04:00
Eric Huang
3b2b254425
Revert "Revert "drm/amdgpu: Fix warning of Function parameter or member not described""
...
This reverts commit 4e7b93ca52 .
Revert reason: The issue has been resolved.
Signed-off-by: Eric Huang <jinhuieric.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 16:37:18 -04:00
Eric Huang
8f0e2d5c99
Revert "Revert "drm/amdkfd: Make TLB flush conditional on mapping""
...
This reverts commit 7ed9876c97 .
Revert reason: The issue has been resolved.
Signed-off-by: Eric Huang <jinhuieric.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 16:37:18 -04:00
Eric Huang
e9949dd791
Revert "Revert "drm/amdgpu: Add table_freed parameter to amdgpu_vm_bo_update""
...
This reverts commit 024d8811c9 .
Revert reason: The issue has been resolved.
Signed-off-by: Eric Huang <jinhuieric.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-28 16:37:17 -04:00
Pratik Vishwakarma
d0260f62ee
drm/amdgpu: Rename amdgpu_acpi_is_s0ix_supported
...
Rename amdgpu_acpi_is_s0ix_supported to better explain
functionality by renaming to amdgpu_acpi_is_s0ix_active
Signed-off-by: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-27 12:04:26 -04:00
Pratik Vishwakarma
91b03fc6b5
drm/amdgpu: Check pmops for desired suspend state
...
[Why]
User might change the suspend behaviour from OS.
[How]
Check with pm for target suspend state and set s0ix
flag only for s2idle state.
v2: User might change default suspend state, use target state
v3: squash in build fix
Suggested-by: Lijo Lazar <Lijo.Lazar@amd.com >
Signed-off-by: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-27 12:04:19 -04:00
Dave Airlie
35482f9dc5
Backmerge tag 'v5.14-rc3' into drm-next
...
Linux 5.14-rc3
Daniel said we should pull the nouveau fix from fixes in here, probably
a good plan.
Signed-off-by: Dave Airlie <airlied@redhat.com >
2021-07-26 09:27:59 +10:00
Hawking Zhang
bdb99dbe3e
drm/amdgpu: retire sdma v5_2 golden settings from driver
...
They are initalized by hardware during power up phase,
starting from sdma v5_2 generation
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Likun Gao <Likun.Gao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:09:40 -04:00
Chengzhe Liu
61a6813f3f
drm/amdgpu: Add msix restore for pass-through mode
...
In pass-through mode, after mode 1 reset, msix enablement status would
lost and never receives interrupt again. So, we should restore msix
status after mode 1 reset.
Signed-off-by: Chengzhe Liu <ChengZhe.Liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:09:40 -04:00
Roy Sun
fe6b1032b2
drm/amdgpu: Change the imprecise output
...
The fail reason is that the vfgate is disabled
Signed-off-by: Roy Sun <Roy.Sun@amd.com >
Reviewed-by: Peng Ju Zhou <PengJu.Zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:09:40 -04:00
Chengzhe Liu
1bece222ea
drm/amdgpu: Clear doorbell interrupt status for Sienna Cichlid
...
On Sienna Cichlid, in pass-through mode, if we unload the driver in BACO
mode(RTPM), then the kernel would receive thousands of interrupts.
That's because there is doorbell monitor interrupt on BIF, so KVM keeps
injecting interrupts to the guest VM. So we should clear the doorbell
interrupt status after BACO exit.
v2: Modify coding style and commit message
Signed-off-by: Chengzhe Liu <ChengZhe.Liu@amd.com >
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:09:40 -04:00
Tao Zhou
a8f706966b
drm/amdgpu: add pci device id for cyan_skillfish
...
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:02 -04:00
Lang Yu
7fd74ad880
drm/amdgpu: add autoload_supported check for RLC autoload
...
Asic cyan_skilfish2 won't support RLC autoload when using
front door loading. We just use PSP to load firmware like
gfx9 here.
So add autoload_supported flag check instead of just
checking firmware load type for RLC autoload.
Signed-off-by: Lang Yu <Lang.Yu@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:02 -04:00
Lang Yu
641df09904
drm/amdgpu: enable SMU for cyan_skilfish
...
Enable SMU support for cyan_skilfish.
v2: Squash in fix (Alex)
Signed-off-by: Lang Yu <Lang.Yu@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:02 -04:00
Lang Yu
c5d0aa482e
drm/amdgpu: use direct loading by default for cyan_skillfish2
...
Will switch to front door loading by default after this function is
stable.
v2: use APU flags (Alex)
Signed-off-by: Lang Yu <lang.yu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Lang Yu
1c7916af55
drm/amdgpu: enable psp v11.0.8 for cyan_skillfish
...
Add psp v11.0.8 to ip block initialization.
v2: use APU flags (Alex)
Signed-off-by: Lang Yu <lang.yu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Lang Yu
3188fd0752
drm/amdgpu: init psp v11.0.8 function for cyan_skillfish
...
Add psp v11.0.8 function into psp driver.
Signed-off-by: Lang Yu <lang.yu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Lang Yu
e330a68f30
drm/amdgpu: add psp v11.0.8 driver for cyan_skillfish
...
Introduce the psp v11.0.8 driver for cyan_skillfish.
Signed-off-by: Lang Yu <lang.yu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
338b3cf0b9
drm/amdgpu: add nbio support for cyan_skillfish
...
nbio version is 2.3.
v2: Make it more explicit (Alex)
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
b515937b41
drm/amdgpu: add chip early init for cyan_skillfish
...
Set cg/pg flags and rev id for cyan_skillfish.
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
d9393f9b68
drm/amdgpu: add gc v10 golden settings for cyan_skillfish
...
v2: squash in updates from Ray
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
86491ff7c6
drm/amdgpu: add sdma v5 golden settings for cyan_skillfish
...
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
9724bb6621
drm/amdgpu: add cyan_skillfish support in gfx v10
...
Add gfx support for cyan_skillfish.
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
9dbd8a1251
drm/amdgpu: add cyan_skillfish support in gmc v10
...
Add gmc support for cyan_skillfish.
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
d594e3cc19
drm/amdgpu: load fw direclty for cyan_skillfish
...
Use backdoor loading.
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
bf4759a81b
drm/amdgpu: add sdma fw loading support for cyan_skillfish
...
Same as Navi10.
v2: squash in updates (Alex)
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
621312a2ac
drm/amdgpu: add cp/rlc fw loading support for cyan_skillfish
...
Add cp/rlc fw loading support and gfx golden setting.
v2: squash in updates (Alex)
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
f36fb5a0e3
drm/amdgpu: set ip blocks for cyan_skillfish
...
Add ip blocks for cyan_skillfish.
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:01 -04:00
Tao Zhou
6e80eacd9c
drm/amdgpu: init family name for cyan_skillfish
...
Use FAMILY_NV for cyan_skillfish.
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:00 -04:00
Tao Zhou
708391977b
drm/amdgpu: dynamic initialize ip offset for cyan_skillfish
...
Add ip offset definition for cyan_skillfish and initialize it.
v2: squash in ip_offset updates (Alex)
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:00 -04:00
Tao Zhou
d0f56dc25a
drm/amdgpu: add cyan_skillfish asic type
...
Add cyan_skillfish asic family.
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:00 -04:00
Lang Yu
30ebc16aac
drm/amdgpu: adjust fw_name string length for toc
...
Adjust toc fw_name string length to PSP_FW_NAME_LEN.
Signed-off-by: Lang Yu <lang.yu@amd.com >
Reviewed-by: Tao Zhou <tao.zhou1@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:00 -04:00
Tao Zhou
5ccde01b50
drm/amdgpu: increase size for sdma fw name string
...
Longer firmware name needs more space.
Signed-off-by: Tao Zhou <tao.zhou1@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:00 -04:00
Aaron Liu
69b30d80ef
drm/amdgpu: add yellow carp pci id (v2)
...
Add Yellow Carp PCI id support.
v2: add another DID
Signed-off-by: Aaron Liu <aaron.liu@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:00 -04:00
Aaron Liu
e97c8d8677
drm/amdgpu: update yellow carp external rev_id handling
...
0x1681 has a different external revision id.
Signed-off-by: Aaron Liu <aaron.liu@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:00 -04:00
Kai-Heng Feng
aff890288d
drm/amdgpu/acp: Make PM domain really work
...
Devices created by mfd_add_hotplug_devices() don't really increase the
index of its name, so get_mfd_cell_dev() cannot find any device, hence a
NULL dev is passed to pm_genpd_add_device():
[ 56.974926] (NULL device *): amdgpu: device acp_audio_dma.0.auto added to pm domain
[ 56.974933] (NULL device *): amdgpu: Failed to add dev to genpd
[ 56.974941] [drm:amdgpu_device_ip_init [amdgpu]] *ERROR* hw_init of IP block <acp_ip> failed -22
[ 56.975810] amdgpu 0000:00:01.0: amdgpu: amdgpu_device_ip_init failed
[ 56.975839] amdgpu 0000:00:01.0: amdgpu: Fatal error during GPU init
[ 56.977136] ------------[ cut here ]------------
[ 56.977143] kernel BUG at mm/slub.c:4206!
[ 56.977158] invalid opcode: 0000 [#1 ] SMP NOPTI
[ 56.977167] CPU: 1 PID: 1648 Comm: modprobe Not tainted 5.12.0-051200rc8-generic #202104182230
[ 56.977175] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./FM2A68M-HD+, BIOS P5.20 02/13/2019
[ 56.977180] RIP: 0010:kfree+0x3bf/0x410
[ 56.977195] Code: 89 e7 48 d3 e2 f7 da e8 5f 0d 02 00 80 e7 02 75 3e 44 89 ee 4c 89 e7 e8 ef 5f fd ff e9 fa fe ff ff 49 8b 44 24 08 a8 01 75 b7 <0f> 0b 4c 8b 4d b0 48 8b 4d a8 48 89 da 4c 89 e6 41 b8 01 00 00 00
[ 56.977202] RSP: 0018:ffffa48640ff79f0 EFLAGS: 00010246
[ 56.977210] RAX: 0000000000000000 RBX: ffff9286127d5608 RCX: 0000000000000000
[ 56.977215] RDX: 0000000000000000 RSI: ffffffffc099d0fb RDI: ffff9286127d5608
[ 56.977220] RBP: ffffa48640ff7a48 R08: 0000000000000001 R09: 0000000000000001
[ 56.977224] R10: 0000000000000000 R11: ffff9286087d8458 R12: fffff3ae0449f540
[ 56.977229] R13: 0000000000000000 R14: dead000000000122 R15: dead000000000100
[ 56.977234] FS: 00007f9de5929540(0000) GS:ffff928612e80000(0000) knlGS:0000000000000000
[ 56.977240] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 56.977245] CR2: 00007f697dd97160 CR3: 00000001110f0000 CR4: 00000000001506e0
[ 56.977251] Call Trace:
[ 56.977261] amdgpu_dm_encoder_destroy+0x1b/0x30 [amdgpu]
[ 56.978056] drm_mode_config_cleanup+0x4f/0x2e0 [drm]
[ 56.978147] ? kfree+0x3dd/0x410
[ 56.978157] ? drm_managed_release+0xc8/0x100 [drm]
[ 56.978232] drm_mode_config_init_release+0xe/0x10 [drm]
[ 56.978311] drm_managed_release+0x9d/0x100 [drm]
[ 56.978388] devm_drm_dev_init_release+0x4d/0x70 [drm]
[ 56.978450] devm_action_release+0x15/0x20
[ 56.978459] release_nodes+0x77/0xc0
[ 56.978469] devres_release_all+0x3f/0x50
[ 56.978477] really_probe+0x245/0x460
[ 56.978485] driver_probe_device+0xe9/0x160
[ 56.978492] device_driver_attach+0xab/0xb0
[ 56.978499] __driver_attach+0x8f/0x150
[ 56.978506] ? device_driver_attach+0xb0/0xb0
[ 56.978513] bus_for_each_dev+0x7e/0xc0
[ 56.978521] driver_attach+0x1e/0x20
[ 56.978528] bus_add_driver+0x135/0x1f0
[ 56.978534] driver_register+0x91/0xf0
[ 56.978540] __pci_register_driver+0x54/0x60
[ 56.978549] amdgpu_init+0x77/0x1000 [amdgpu]
[ 56.979246] ? 0xffffffffc0dbc000
[ 56.979254] do_one_initcall+0x48/0x1d0
[ 56.979265] ? kmem_cache_alloc_trace+0x120/0x230
[ 56.979274] ? do_init_module+0x28/0x280
[ 56.979282] do_init_module+0x62/0x280
[ 56.979288] load_module+0x71c/0x7a0
[ 56.979296] __do_sys_finit_module+0xc2/0x120
[ 56.979305] __x64_sys_finit_module+0x1a/0x20
[ 56.979311] do_syscall_64+0x38/0x90
[ 56.979319] entry_SYSCALL_64_after_hwframe+0x44/0xae
[ 56.979328] RIP: 0033:0x7f9de54f989d
[ 56.979335] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d c3 f5 0c 00 f7 d8 64 89 01 48
[ 56.979342] RSP: 002b:00007ffe3c395a28 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[ 56.979350] RAX: ffffffffffffffda RBX: 0000560df3ef4330 RCX: 00007f9de54f989d
[ 56.979355] RDX: 0000000000000000 RSI: 0000560df3a07358 RDI: 000000000000000f
[ 56.979360] RBP: 0000000000040000 R08: 0000000000000000 R09: 0000000000000000
[ 56.979365] R10: 000000000000000f R11: 0000000000000246 R12: 0000560df3a07358
[ 56.979369] R13: 0000000000000000 R14: 0000560df3ef4460 R15: 0000560df3ef4330
[ 56.979377] Modules linked in: amdgpu(+) iommu_v2 gpu_sched drm_ttm_helper ttm drm_kms_helper cec rc_core i2c_algo_bit fb_sys_fops syscopyarea sysfillrect sysimgblt nft_counter xt_tcpudp ipt_REJECT nf_reject_ipv4 xt_conntrack iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_raw iptable_security ip_set nf_tables libcrc32c nfnetlink ip6_tables iptable_filter bpfilter input_leds binfmt_misc edac_mce_amd kvm_amd ccp kvm snd_hda_codec_realtek snd_hda_codec_generic crct10dif_pclmul snd_hda_codec_hdmi ledtrig_audio ghash_clmulni_intel aesni_intel snd_hda_intel snd_intel_dspcfg snd_seq_midi crypto_simd snd_intel_sdw_acpi cryptd snd_hda_codec snd_seq_midi_event snd_rawmidi snd_hda_core snd_hwdep snd_seq fam15h_power k10temp snd_pcm snd_seq_device snd_timer snd mac_hid soundcore sch_fq_codel nct6775 hwmon_vid drm ip_tables x_tables autofs4 dm_mirror dm_region_hash dm_log hid_generic usbhid hid uas usb_storage r8169 crc32_pclmul realtek ahci xhci_pci i2c_piix4
[ 56.979521] xhci_pci_renesas libahci video
[ 56.979541] ---[ end trace cb8f6a346f18da7b ]---
Instead of finding MFD hotplugged device by its name, simply iterate
over the child devices to avoid the issue.
Squash in unused variable removal (Alex)
BugLink: https://bugs.launchpad.net/bugs/1920674
Fixes: 25030321ba ("drm/amd: add pm domain for ACP IP sub blocks")
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-07-23 10:08:00 -04:00