[PATCH] drm/amd/amdgpu: Fix errors & warnings in amdgpu _bios, _cs, _dma_buf, _fence.c
Christian König
christian.koenig at amd.com
Wed May 3 08:50:45 UTC 2023
Am 03.05.23 um 10:46 schrieb Srinivasan Shanmugam:
> The following checkpatch errors & warning is removed.
>
> ERROR: else should follow close brace '}'
> ERROR: trailing statements should be on next line
> WARNING: Prefer 'unsigned int' to bare use of 'unsigned'
> WARNING: Possible repeated word: 'Fences'
> WARNING: Missing a blank line after declarations
> WARNING: braces {} are not necessary for single statement blocks
> WARNING: Comparisons should place the constant on the right side of the test
> WARNING: printk() should include KERN_<LEVEL> facility level
>
> Cc: Christian König <christian.koenig at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 16 +++++++---------
> drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 16 ++++++++--------
> drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 15 +++++++++------
> 4 files changed, 25 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
> index 30c28a69e847..b582b83c4984 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
> @@ -104,9 +104,8 @@ static bool igp_read_bios_from_vram(struct amdgpu_device *adev)
> adev->bios = NULL;
> vram_base = pci_resource_start(adev->pdev, 0);
> bios = ioremap_wc(vram_base, size);
> - if (!bios) {
> + if (!bios)
> return false;
> - }
>
> adev->bios = kmalloc(size, GFP_KERNEL);
> if (!adev->bios) {
> @@ -133,9 +132,8 @@ bool amdgpu_read_bios(struct amdgpu_device *adev)
> adev->bios = NULL;
> /* XXX: some cards may return 0 for rom size? ddx has a workaround */
> bios = pci_map_rom(adev->pdev, &size);
> - if (!bios) {
> + if (!bios)
> return false;
> - }
>
> adev->bios = kzalloc(size, GFP_KERNEL);
> if (adev->bios == NULL) {
> @@ -168,9 +166,9 @@ static bool amdgpu_read_bios_from_rom(struct amdgpu_device *adev)
> header[AMD_VBIOS_SIGNATURE_END] = 0;
>
> if ((!AMD_IS_VALID_VBIOS(header)) ||
> - 0 != memcmp((char *)&header[AMD_VBIOS_SIGNATURE_OFFSET],
> - AMD_VBIOS_SIGNATURE,
> - strlen(AMD_VBIOS_SIGNATURE)))
> + memcmp((char *)&header[AMD_VBIOS_SIGNATURE_OFFSET],
> + AMD_VBIOS_SIGNATURE,
> + strlen(AMD_VBIOS_SIGNATURE)) != 0)
> return false;
>
> /* valid vbios, go on */
> @@ -264,7 +262,7 @@ static int amdgpu_atrm_call(acpi_handle atrm_handle, uint8_t *bios,
>
> status = acpi_evaluate_object(atrm_handle, NULL, &atrm_arg, &buffer);
> if (ACPI_FAILURE(status)) {
> - printk("failed to evaluate ATRM got %s\n", acpi_format_exception(status));
> + DRM_ERROR("failed to evaluate ATRM got %s\n", acpi_format_exception(status));
> return -ENODEV;
> }
>
> @@ -363,7 +361,7 @@ static bool amdgpu_acpi_vfct_bios(struct amdgpu_device *adev)
> struct acpi_table_header *hdr;
> acpi_size tbl_size;
> UEFI_ACPI_VFCT *vfct;
> - unsigned offset;
> + unsigned int offset;
>
> if (!ACPI_SUCCESS(acpi_get_table("VFCT", 1, &hdr)))
> return false;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> index cb771c73cd07..c5521f9953a6 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> @@ -395,7 +395,7 @@ static int amdgpu_cs_p2_dependencies(struct amdgpu_cs_parser *p,
> {
> struct drm_amdgpu_cs_chunk_dep *deps = chunk->kdata;
> struct amdgpu_fpriv *fpriv = p->filp->driver_priv;
> - unsigned num_deps;
> + unsigned int num_deps;
> int i, r;
>
> num_deps = chunk->length_dw * 4 /
> @@ -466,7 +466,7 @@ static int amdgpu_cs_p2_syncobj_in(struct amdgpu_cs_parser *p,
> struct amdgpu_cs_chunk *chunk)
> {
> struct drm_amdgpu_cs_chunk_sem *deps = chunk->kdata;
> - unsigned num_deps;
> + unsigned int num_deps;
> int i, r;
>
> num_deps = chunk->length_dw * 4 /
> @@ -484,7 +484,7 @@ static int amdgpu_cs_p2_syncobj_timeline_wait(struct amdgpu_cs_parser *p,
> struct amdgpu_cs_chunk *chunk)
> {
> struct drm_amdgpu_cs_chunk_syncobj *syncobj_deps = chunk->kdata;
> - unsigned num_deps;
> + unsigned int num_deps;
> int i, r;
>
> num_deps = chunk->length_dw * 4 /
> @@ -504,7 +504,7 @@ static int amdgpu_cs_p2_syncobj_out(struct amdgpu_cs_parser *p,
> struct amdgpu_cs_chunk *chunk)
> {
> struct drm_amdgpu_cs_chunk_sem *deps = chunk->kdata;
> - unsigned num_deps;
> + unsigned int num_deps;
> int i;
>
> num_deps = chunk->length_dw * 4 /
> @@ -538,7 +538,7 @@ static int amdgpu_cs_p2_syncobj_timeline_signal(struct amdgpu_cs_parser *p,
> struct amdgpu_cs_chunk *chunk)
> {
> struct drm_amdgpu_cs_chunk_syncobj *syncobj_deps = chunk->kdata;
> - unsigned num_deps;
> + unsigned int num_deps;
> int i;
>
> num_deps = chunk->length_dw * 4 /
> @@ -756,6 +756,7 @@ static void amdgpu_cs_get_threshold_for_moves(struct amdgpu_device *adev,
>
> if (used_vis_vram < total_vis_vram) {
> u64 free_vis_vram = total_vis_vram - used_vis_vram;
> +
> adev->mm_stats.accum_us_vis = min(adev->mm_stats.accum_us_vis +
> increment_us, us_upper_bound);
>
> @@ -1074,9 +1075,8 @@ static int amdgpu_cs_patch_ibs(struct amdgpu_cs_parser *p,
>
> /* the IB should be reserved at this point */
> r = amdgpu_bo_kmap(aobj, (void **)&kptr);
> - if (r) {
> + if (r)
> return r;
> - }
>
> kptr += va_start - (m->start * AMDGPU_GPU_PAGE_SIZE);
>
> @@ -1390,7 +1390,7 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
> /* Cleanup the parser structure */
> static void amdgpu_cs_parser_fini(struct amdgpu_cs_parser *parser)
> {
> - unsigned i;
> + unsigned int i;
>
> amdgpu_sync_free(&parser->sync);
> for (i = 0; i < parser->num_post_deps; i++) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
> index 271e30e34d93..e97b1eef2c9d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
> @@ -148,7 +148,7 @@ static struct sg_table *amdgpu_dma_buf_map(struct dma_buf_attachment *attach,
> if (!bo->tbo.pin_count) {
> /* move buffer into GTT or VRAM */
> struct ttm_operation_ctx ctx = { false, false };
> - unsigned domains = AMDGPU_GEM_DOMAIN_GTT;
> + unsigned int domains = AMDGPU_GEM_DOMAIN_GTT;
>
> if (bo->preferred_domains & AMDGPU_GEM_DOMAIN_VRAM &&
> attach->peer2peer) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> index a7627cc0118d..d6e35a3904c3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> @@ -43,7 +43,7 @@
>
> /*
> * Fences
> - * Fences mark an event in the GPUs pipeline and are used
> + * mark an event in the GPUs pipeline and are used
Probably best to just make one line from that. E.g. "/* Fences mark an
event...".
It looks like the original idea was to make the word "Fences" a caption,
but that isn't really the style we use here.
Apart from that the patch looks good to me,
Christian.
> * for GPU/CPU synchronization. When the fence is written,
> * it is expected that all buffers associated with that fence
> * are no longer in use by the associated ring on the GPU and
> @@ -140,7 +140,7 @@ static u32 amdgpu_fence_read(struct amdgpu_ring *ring)
> * Returns 0 on success, -ENOMEM on failure.
> */
> int amdgpu_fence_emit(struct amdgpu_ring *ring, struct dma_fence **f, struct amdgpu_job *job,
> - unsigned flags)
> + unsigned int flags)
> {
> struct amdgpu_device *adev = ring->adev;
> struct dma_fence *fence;
> @@ -174,11 +174,11 @@ int amdgpu_fence_emit(struct amdgpu_ring *ring, struct dma_fence **f, struct amd
> adev->fence_context + ring->idx, seq);
> /* Against remove in amdgpu_job_{free, free_cb} */
> dma_fence_get(fence);
> - }
> - else
> + } else {
> dma_fence_init(fence, &amdgpu_fence_ops,
> &ring->fence_drv.lock,
> adev->fence_context + ring->idx, seq);
> + }
> }
>
> amdgpu_ring_emit_fence(ring, ring->fence_drv.gpu_addr,
> @@ -396,7 +396,7 @@ signed long amdgpu_fence_wait_polling(struct amdgpu_ring *ring,
> * Returns the number of emitted fences on the ring. Used by the
> * dynpm code to ring track activity.
> */
> -unsigned amdgpu_fence_count_emitted(struct amdgpu_ring *ring)
> +unsigned int amdgpu_fence_count_emitted(struct amdgpu_ring *ring)
> {
> uint64_t emitted;
>
> @@ -475,7 +475,7 @@ void amdgpu_fence_update_start_timestamp(struct amdgpu_ring *ring, uint32_t seq,
> */
> int amdgpu_fence_driver_start_ring(struct amdgpu_ring *ring,
> struct amdgpu_irq_src *irq_src,
> - unsigned irq_type)
> + unsigned int irq_type)
> {
> struct amdgpu_device *adev = ring->adev;
> uint64_t index;
> @@ -653,6 +653,7 @@ void amdgpu_fence_driver_hw_init(struct amdgpu_device *adev)
>
> for (i = 0; i < AMDGPU_MAX_RINGS; i++) {
> struct amdgpu_ring *ring = adev->rings[i];
> +
> if (!ring || !ring->fence_drv.initialized)
> continue;
>
> @@ -865,6 +866,7 @@ static int amdgpu_debugfs_fence_info_show(struct seq_file *m, void *unused)
>
> for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
> struct amdgpu_ring *ring = adev->rings[i];
> +
> if (!ring || !ring->fence_drv.initialized)
> continue;
>
> @@ -938,6 +940,7 @@ static void amdgpu_debugfs_reset_work(struct work_struct *work)
> reset_work);
>
> struct amdgpu_reset_context reset_context;
> +
> memset(&reset_context, 0, sizeof(reset_context));
>
> reset_context.method = AMD_RESET_METHOD_NONE;
More information about the amd-gfx
mailing list