|
@@ -39,8 +39,6 @@
|
|
|
#include "gmc/gmc_7_1_sh_mask.h"
|
|
|
#include "cik_structs.h"
|
|
|
|
|
|
-#define CIK_PIPE_PER_MEC (4)
|
|
|
-
|
|
|
enum {
|
|
|
MAX_TRAPID = 8, /* 3 bits in the bitfield. */
|
|
|
MAX_WATCH_ADDRESSES = 4
|
|
@@ -186,8 +184,10 @@ static void unlock_srbm(struct kgd_dev *kgd)
|
|
|
static void acquire_queue(struct kgd_dev *kgd, uint32_t pipe_id,
|
|
|
uint32_t queue_id)
|
|
|
{
|
|
|
- uint32_t mec = (++pipe_id / CIK_PIPE_PER_MEC) + 1;
|
|
|
- uint32_t pipe = (pipe_id % CIK_PIPE_PER_MEC);
|
|
|
+ struct amdgpu_device *adev = get_amdgpu_device(kgd);
|
|
|
+
|
|
|
+ uint32_t mec = (++pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1;
|
|
|
+ uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec);
|
|
|
|
|
|
lock_srbm(kgd, mec, pipe, queue_id, 0);
|
|
|
}
|
|
@@ -254,8 +254,8 @@ static int kgd_init_interrupts(struct kgd_dev *kgd, uint32_t pipe_id)
|
|
|
uint32_t mec;
|
|
|
uint32_t pipe;
|
|
|
|
|
|
- mec = (pipe_id / CIK_PIPE_PER_MEC) + 1;
|
|
|
- pipe = (pipe_id % CIK_PIPE_PER_MEC);
|
|
|
+ mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1;
|
|
|
+ pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec);
|
|
|
|
|
|
lock_srbm(kgd, mec, pipe, 0, 0);
|
|
|
|