mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 18:12:25 -04:00
amdgfx/gfx: don't use static objects for ce/de meta. (v2)
This isn't safe if we have multiple GPUs plugged in, since there is only one copy of this struct in the bss, just allocate on stack, it's 40/108 bytes which should be safe. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
20a3a71da5
commit
d81a220949
@@ -7042,7 +7042,7 @@ static void gfx_v8_0_ring_emit_ce_meta(struct amdgpu_ring *ring)
|
||||
{
|
||||
uint64_t ce_payload_addr;
|
||||
int cnt_ce;
|
||||
static union {
|
||||
union {
|
||||
struct vi_ce_ib_state regular;
|
||||
struct vi_ce_ib_state_chained_ib chained;
|
||||
} ce_payload = {};
|
||||
@@ -7071,7 +7071,7 @@ static void gfx_v8_0_ring_emit_de_meta(struct amdgpu_ring *ring)
|
||||
{
|
||||
uint64_t de_payload_addr, gds_addr, csa_addr;
|
||||
int cnt_de;
|
||||
static union {
|
||||
union {
|
||||
struct vi_de_ib_state regular;
|
||||
struct vi_de_ib_state_chained_ib chained;
|
||||
} de_payload = {};
|
||||
|
||||
@@ -3806,7 +3806,7 @@ static void gfx_v9_ring_emit_sb(struct amdgpu_ring *ring)
|
||||
|
||||
static void gfx_v9_0_ring_emit_ce_meta(struct amdgpu_ring *ring)
|
||||
{
|
||||
static struct v9_ce_ib_state ce_payload = {0};
|
||||
struct v9_ce_ib_state ce_payload = {0};
|
||||
uint64_t csa_addr;
|
||||
int cnt;
|
||||
|
||||
@@ -3825,7 +3825,7 @@ static void gfx_v9_0_ring_emit_ce_meta(struct amdgpu_ring *ring)
|
||||
|
||||
static void gfx_v9_0_ring_emit_de_meta(struct amdgpu_ring *ring)
|
||||
{
|
||||
static struct v9_de_ib_state de_payload = {0};
|
||||
struct v9_de_ib_state de_payload = {0};
|
||||
uint64_t csa_addr, gds_addr;
|
||||
int cnt;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user