[PATCH 1/2] drm/amdgpu:add fw-vram-usage for atomfirmware
Deucher, Alexander
Alexander.Deucher at amd.com
Tue Oct 31 15:01:22 UTC 2017
> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Monk Liu
> Sent: Tuesday, October 31, 2017 7:55 AM
> To: amd-gfx at lists.freedesktop.org
> Cc: Liu, Monk
> Subject: [PATCH 1/2] drm/amdgpu:add fw-vram-usage for atomfirmware
>
> otherwise PF & VF exchange is broken
>
> Change-Id: Icbb44e640ba1c6e61914cbd234e92de001496195
> Signed-off-by: Monk Liu <Monk.Liu at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 26
> ++++++++++++++++++++----
> 1 file changed, 22 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
> index f9ffe8e..455ad63 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
> @@ -71,19 +71,37 @@ int
> amdgpu_atomfirmware_allocate_fb_scratch(struct amdgpu_device *adev)
> struct atom_context *ctx = adev->mode_info.atom_context;
> int index =
> get_index_into_master_table(atom_master_list_of_data_tables_v2_1,
> vram_usagebyfirmware);
> + struct vram_usagebyfirmware_v2_1 * firmware_usage;
> + uint32_t start_addr, size;
> uint16_t data_offset;
> int usage_bytes = 0;
>
> if (amdgpu_atom_parse_data_header(ctx, index, NULL, NULL, NULL,
> &data_offset)) {
> - struct vram_usagebyfirmware_v2_1 *firmware_usage =
> - (struct vram_usagebyfirmware_v2_1 *)(ctx->bios +
> data_offset);
> + printk("data_offset=%x\n", data_offset);
Drop this debugging leftover.
> + firmware_usage = (struct vram_usagebyfirmware_v2_1
> *)(ctx->bios + data_offset);
>
> - DRM_DEBUG("atom firmware requested %08x %dkb fw
> %dkb drv\n",
> + DRM_INFO("atom firmware requested %08x %dkb fw %dkb
Any reason to make this non-debug?
> drv\n",
> le32_to_cpu(firmware_usage-
> >start_address_in_kb),
> le16_to_cpu(firmware_usage-
> >used_by_firmware_in_kb),
> le16_to_cpu(firmware_usage-
> >used_by_driver_in_kb));
>
> - usage_bytes = le16_to_cpu(firmware_usage-
> >used_by_driver_in_kb) * 1024;
> + start_addr = le32_to_cpu(firmware_usage-
> >start_address_in_kb);
> + size = le16_to_cpu(firmware_usage-
> >used_by_firmware_in_kb);
> +
> + printk("start_addr = %x, size=%x\n", start_addr, size);
More debug leftovers.
With the above comments addressed, the patch is:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> +
> + if ((uint32_t)(start_addr &
> ATOM_VRAM_OPERATION_FLAGS_MASK) ==
> +
> (uint32_t)(ATOM_VRAM_BLOCK_SRIOV_MSG_SHARE_RESERVATIO
> N <<
> + ATOM_VRAM_OPERATION_FLAGS_SHIFT)) {
> + /* Firmware request VRAM reservation for SR-IOV */
> + adev->fw_vram_usage.start_offset = (start_addr &
> +
> (~ATOM_VRAM_OPERATION_FLAGS_MASK)) << 10;
> + adev->fw_vram_usage.size = size << 10;
> + /* Use the default scratch size */
> + usage_bytes = 0;
> + } else {
> + usage_bytes = le16_to_cpu(firmware_usage-
> >used_by_driver_in_kb) << 10;
> + }
> }
> ctx->scratch_size_bytes = 0;
> if (usage_bytes == 0)
> --
> 2.7.4
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list