On Tue, Jun 16, 2026 at 5:44 PM Xiaogang.Chen <[email protected]> wrote: > > From: Xiaogang Chen <[email protected]> >
This needs a patch description. Alex > Signed-off-by: Xiaogang Chen <[email protected]> > --- > drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c | 4 ++-- > drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c | 4 ++-- > drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c | 4 ++-- > drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c | 4 ++-- > 4 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c > index 82f194ea2a21..5f8bf87f475e 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c > @@ -203,8 +203,8 @@ static void update_mqd(struct mqd_manager *mm, void *mqd, > * more than (EOP entry count - 1) so a queue size of 0x800 dwords > * is safe, giving a maximum field value of 0xA. > */ > - m->cp_hqd_eop_control = min(0xA, > - ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1); > + m->cp_hqd_eop_control = q->eop_ring_buffer_size ? min(0xA, > + ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1) > : 0; > m->cp_hqd_eop_base_addr_lo = > lower_32_bits(q->eop_ring_buffer_address >> 8); > m->cp_hqd_eop_base_addr_hi = > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c > index dff016c9c65c..7506a1410385 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c > @@ -241,8 +241,8 @@ static void update_mqd(struct mqd_manager *mm, void *mqd, > * more than (EOP entry count - 1) so a queue size of 0x800 dwords > * is safe, giving a maximum field value of 0xA. > */ > - m->cp_hqd_eop_control = min(0xA, > - ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1); > + m->cp_hqd_eop_control = q->eop_ring_buffer_size ? min(0xA, > + ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1) > : 0; > m->cp_hqd_eop_base_addr_lo = > lower_32_bits(q->eop_ring_buffer_address >> 8); > m->cp_hqd_eop_base_addr_hi = > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c > index 51dde2c86eb3..f1f923eb0ea5 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c > @@ -216,8 +216,8 @@ static void update_mqd(struct mqd_manager *mm, void *mqd, > * more than (EOP entry count - 1) so a queue size of 0x800 dwords > * is safe, giving a maximum field value of 0xA. > */ > - m->cp_hqd_eop_control = min(0xA, > - ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1); > + m->cp_hqd_eop_control = q->eop_ring_buffer_size ? min(0xA, > + ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1) > : 0; > m->cp_hqd_eop_base_addr_lo = > lower_32_bits(q->eop_ring_buffer_address >> 8); > m->cp_hqd_eop_base_addr_hi = > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c > index 9014912ed82c..a6fff8032dce 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c > @@ -294,8 +294,8 @@ static void update_mqd(struct mqd_manager *mm, void *mqd, > * more than (EOP entry count - 1) so a queue size of 0x800 dwords > * is safe, giving a maximum field value of 0xA. > */ > - m->cp_hqd_eop_control = min(0xA, > - ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1); > + m->cp_hqd_eop_control = q->eop_ring_buffer_size ? min(0xA, > + ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1) > : 0; > m->cp_hqd_eop_base_addr_lo = > lower_32_bits(q->eop_ring_buffer_address >> 8); > m->cp_hqd_eop_base_addr_hi = > -- > 2.34.1 >
