[Nouveau] [PATCH v2 12/14] secboot: remove unneeded ls_ucode_img member

Alexandre Courbot acourbot at nvidia.com
Thu Oct 27 04:37:06 UTC 2016


ucode_header is not used anywhere, so just get rid of it.

Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
---
 drm/nouveau/nvkm/subdev/secboot/acr_r352.c    | 25 +++++++------------------
 drm/nouveau/nvkm/subdev/secboot/ls_ucode.h    |  2 --
 drm/nouveau/nvkm/subdev/secboot/ls_ucode_gr.c |  2 --
 3 files changed, 7 insertions(+), 22 deletions(-)

diff --git a/drm/nouveau/nvkm/subdev/secboot/acr_r352.c b/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
index d9f02c1c0de6..15e1d829f265 100644
--- a/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
+++ b/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
@@ -212,12 +212,6 @@ ls_ucode_img_fill_headers(struct nvkm_acr_r352 *acr, struct ls_ucode_img *img,
 	const struct nvkm_acr_r352_ls_func *func =
 					    acr->func->ls_func[img->falcon_id];
 
-	if (img->ucode_header) {
-		nvkm_fatal(acr->base.subdev,
-			   "images withough loader are not supported yet!\n");
-		return offset;
-	}
-
 	/* Fill WPR header */
 	whdr->falcon_id = img->falcon_id;
 	whdr->bootstrap_owner = acr->base.func->boot_falcon;
@@ -307,7 +301,6 @@ ls_ucode_mgr_cleanup(struct ls_ucode_mgr *mgr)
 
 	list_for_each_entry_safe(img, t, &mgr->img_list, node) {
 		kfree(img->ucode_data);
-		kfree(img->ucode_header);
 		kfree(img);
 	}
 }
@@ -360,6 +353,10 @@ ls_ucode_mgr_write_wpr(struct nvkm_acr_r352 *acr, struct ls_ucode_mgr *mgr,
 	nvkm_kmap(wpr_blob);
 
 	list_for_each_entry(img, &mgr->img_list, node) {
+		const struct nvkm_acr_r352_ls_func *ls_func =
+					     acr->func->ls_func[img->falcon_id];
+		u8 gdesc[ls_func->bl_desc_size];
+
 		nvkm_gpuobj_memcpy_to(wpr_blob, pos, &img->wpr_header,
 				      sizeof(img->wpr_header));
 
@@ -367,18 +364,10 @@ ls_ucode_mgr_write_wpr(struct nvkm_acr_r352 *acr, struct ls_ucode_mgr *mgr,
 				     &img->lsb_header, sizeof(img->lsb_header));
 
 		/* Generate and write BL descriptor */
-		if (!img->ucode_header) {
-			const struct nvkm_acr_r352_ls_func *ls_func =
-					     acr->func->ls_func[img->falcon_id];
-			u8 gdesc[ls_func->bl_desc_size];
-
-			ls_func->generate_bl_desc(&acr->base, img, wpr_addr,
-						  &gdesc);
+		ls_func->generate_bl_desc(&acr->base, img, wpr_addr, &gdesc);
 
-			nvkm_gpuobj_memcpy_to(wpr_blob,
-					      img->lsb_header.bl_data_off,
-					      &gdesc, ls_func->bl_desc_size);
-		}
+		nvkm_gpuobj_memcpy_to(wpr_blob, img->lsb_header.bl_data_off,
+				      &gdesc, ls_func->bl_desc_size);
 
 		/* Copy ucode */
 		nvkm_gpuobj_memcpy_to(wpr_blob, img->lsb_header.ucode_off,
diff --git a/drm/nouveau/nvkm/subdev/secboot/ls_ucode.h b/drm/nouveau/nvkm/subdev/secboot/ls_ucode.h
index 0518371a287c..3d8c42e11847 100644
--- a/drm/nouveau/nvkm/subdev/secboot/ls_ucode.h
+++ b/drm/nouveau/nvkm/subdev/secboot/ls_ucode.h
@@ -173,7 +173,6 @@ struct ls_ucode_img_desc {
  * @node:		to link within lsf_ucode_mgr
  * @falcon_id:		ID of the falcon this LS firmware is for
  * @ucode_desc:		loaded or generated map of ucode_data
- * @ucode_header:	header of the firmware
  * @ucode_data:		firmware payload (code and data)
  * @ucode_size:		size in bytes of data in ucode_data
  * @wpr_header:		WPR header to be written to the LS blob
@@ -188,7 +187,6 @@ struct ls_ucode_img {
 	enum nvkm_falconidx falcon_id;
 
 	struct ls_ucode_img_desc ucode_desc;
-	u32 *ucode_header;
 	u8 *ucode_data;
 	u32 ucode_size;
 
diff --git a/drm/nouveau/nvkm/subdev/secboot/ls_ucode_gr.c b/drm/nouveau/nvkm/subdev/secboot/ls_ucode_gr.c
index 09f5f1f1a50d..1c32cb0f16f9 100644
--- a/drm/nouveau/nvkm/subdev/secboot/ls_ucode_gr.c
+++ b/drm/nouveau/nvkm/subdev/secboot/ls_ucode_gr.c
@@ -98,8 +98,6 @@ ls_ucode_img_load_gr(const struct nvkm_subdev *subdev, struct ls_ucode_img *img,
 	char f[64];
 	int ret;
 
-	img->ucode_header = NULL;
-
 	snprintf(f, sizeof(f), "gr/%s_bl", falcon_name);
 	ret = nvkm_firmware_get(subdev->device, f, &bl);
 	if (ret)
-- 
2.10.0



More information about the Nouveau mailing list