drm/nouveau/secboot: make specialized ls_ucode_img struct private
authorAlexandre Courbot <acourbot@nvidia.com>
Fri, 20 Jan 2017 02:59:23 +0000 (11:59 +0900)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 7 Mar 2017 07:05:12 +0000 (17:05 +1000)
This structure does not need to be shared anymore.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c
drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.h

index 8f32d113f5afe13d2fa7bd7dea9df7a7b28ae454..60c7b9e0fc47b5c8094989ad0182f71b82acfada 100644 (file)
@@ -165,6 +165,96 @@ struct hsflcn_acr_desc {
  * Low-secure blob creation
  */
 
+/**
+ * struct acr_r352_lsf_lsb_header - LS firmware header
+ * @signature:         signature to verify the firmware against
+ * @ucode_off:         offset of the ucode blob in the WPR region. The ucode
+ *                      blob contains the bootloader, code and data of the
+ *                      LS falcon
+ * @ucode_size:                size of the ucode blob, including bootloader
+ * @data_size:         size of the ucode blob data
+ * @bl_code_size:      size of the bootloader code
+ * @bl_imem_off:       offset in imem of the bootloader
+ * @bl_data_off:       offset of the bootloader data in WPR region
+ * @bl_data_size:      size of the bootloader data
+ * @app_code_off:      offset of the app code relative to ucode_off
+ * @app_code_size:     size of the app code
+ * @app_data_off:      offset of the app data relative to ucode_off
+ * @app_data_size:     size of the app data
+ * @flags:             flags for the secure bootloader
+ *
+ * This structure is written into the WPR region for each managed falcon. Each
+ * instance is referenced by the lsb_offset member of the corresponding
+ * lsf_wpr_header.
+ */
+struct acr_r352_lsf_lsb_header {
+       /**
+        * LS falcon signatures
+        * @prd_keys:           signature to use in production mode
+        * @dgb_keys:           signature to use in debug mode
+        * @b_prd_present:      whether the production key is present
+        * @b_dgb_present:      whether the debug key is present
+        * @falcon_id:          ID of the falcon the ucode applies to
+        */
+       struct {
+               u8 prd_keys[2][16];
+               u8 dbg_keys[2][16];
+               u32 b_prd_present;
+               u32 b_dbg_present;
+               u32 falcon_id;
+       } signature;
+       u32 ucode_off;
+       u32 ucode_size;
+       u32 data_size;
+       u32 bl_code_size;
+       u32 bl_imem_off;
+       u32 bl_data_off;
+       u32 bl_data_size;
+       u32 app_code_off;
+       u32 app_code_size;
+       u32 app_data_off;
+       u32 app_data_size;
+       u32 flags;
+};
+
+/**
+ * struct acr_r352_lsf_wpr_header - LS blob WPR Header
+ * @falcon_id:         LS falcon ID
+ * @lsb_offset:                offset of the lsb_lsf_header in the WPR region
+ * @bootstrap_owner:   secure falcon reponsible for bootstrapping the LS falcon
+ * @lazy_bootstrap:    skip bootstrapping by ACR
+ * @status:            bootstrapping status
+ *
+ * An array of these is written at the beginning of the WPR region, one for
+ * each managed falcon. The array is terminated by an instance which falcon_id
+ * is LSF_FALCON_ID_INVALID.
+ */
+struct acr_r352_lsf_wpr_header {
+       u32 falcon_id;
+       u32 lsb_offset;
+       u32 bootstrap_owner;
+       u32 lazy_bootstrap;
+       u32 status;
+#define LSF_IMAGE_STATUS_NONE                          0
+#define LSF_IMAGE_STATUS_COPY                          1
+#define LSF_IMAGE_STATUS_VALIDATION_CODE_FAILED                2
+#define LSF_IMAGE_STATUS_VALIDATION_DATA_FAILED                3
+#define LSF_IMAGE_STATUS_VALIDATION_DONE               4
+#define LSF_IMAGE_STATUS_VALIDATION_SKIPPED            5
+#define LSF_IMAGE_STATUS_BOOTSTRAP_READY               6
+};
+
+/**
+ * struct ls_ucode_img_r352 - ucode image augmented with r352 headers
+ */
+struct ls_ucode_img_r352 {
+       struct ls_ucode_img base;
+
+       struct acr_r352_lsf_wpr_header wpr_header;
+       struct acr_r352_lsf_lsb_header lsb_header;
+};
+#define ls_ucode_img_r352(i) container_of(i, struct ls_ucode_img_r352, base)
+
 /**
  * ls_ucode_img_load() - create a lsf_ucode_img and load it
  */
index 564413c96f55542d56b819fa9662b06f1bfe6732..6634fb0d982daba3a1d71fbd15f36cd6acd31f2c 100644 (file)
@@ -29,105 +29,9 @@ struct ls_ucode_img;
 
 #define ACR_R352_MAX_APPS 8
 
-/*
- *
- * LS blob structures
- *
- */
-
-/**
- * struct acr_r352_lsf_lsb_header - LS firmware header
- * @signature:         signature to verify the firmware against
- * @ucode_off:         offset of the ucode blob in the WPR region. The ucode
- *                      blob contains the bootloader, code and data of the
- *                      LS falcon
- * @ucode_size:                size of the ucode blob, including bootloader
- * @data_size:         size of the ucode blob data
- * @bl_code_size:      size of the bootloader code
- * @bl_imem_off:       offset in imem of the bootloader
- * @bl_data_off:       offset of the bootloader data in WPR region
- * @bl_data_size:      size of the bootloader data
- * @app_code_off:      offset of the app code relative to ucode_off
- * @app_code_size:     size of the app code
- * @app_data_off:      offset of the app data relative to ucode_off
- * @app_data_size:     size of the app data
- * @flags:             flags for the secure bootloader
- *
- * This structure is written into the WPR region for each managed falcon. Each
- * instance is referenced by the lsb_offset member of the corresponding
- * lsf_wpr_header.
- */
-struct acr_r352_lsf_lsb_header {
-       /**
-        * LS falcon signatures
-        * @prd_keys:           signature to use in production mode
-        * @dgb_keys:           signature to use in debug mode
-        * @b_prd_present:      whether the production key is present
-        * @b_dgb_present:      whether the debug key is present
-        * @falcon_id:          ID of the falcon the ucode applies to
-        */
-       struct {
-               u8 prd_keys[2][16];
-               u8 dbg_keys[2][16];
-               u32 b_prd_present;
-               u32 b_dbg_present;
-               u32 falcon_id;
-       } signature;
-       u32 ucode_off;
-       u32 ucode_size;
-       u32 data_size;
-       u32 bl_code_size;
-       u32 bl_imem_off;
-       u32 bl_data_off;
-       u32 bl_data_size;
-       u32 app_code_off;
-       u32 app_code_size;
-       u32 app_data_off;
-       u32 app_data_size;
-       u32 flags;
 #define LSF_FLAG_LOAD_CODE_AT_0                1
 #define LSF_FLAG_DMACTL_REQ_CTX                4
 #define LSF_FLAG_FORCE_PRIV_LOAD       8
-};
-
-/**
- * struct acr_r352_lsf_wpr_header - LS blob WPR Header
- * @falcon_id:         LS falcon ID
- * @lsb_offset:                offset of the lsb_lsf_header in the WPR region
- * @bootstrap_owner:   secure falcon reponsible for bootstrapping the LS falcon
- * @lazy_bootstrap:    skip bootstrapping by ACR
- * @status:            bootstrapping status
- *
- * An array of these is written at the beginning of the WPR region, one for
- * each managed falcon. The array is terminated by an instance which falcon_id
- * is LSF_FALCON_ID_INVALID.
- */
-struct acr_r352_lsf_wpr_header {
-       u32 falcon_id;
-       u32 lsb_offset;
-       u32 bootstrap_owner;
-       u32 lazy_bootstrap;
-       u32 status;
-#define LSF_IMAGE_STATUS_NONE                          0
-#define LSF_IMAGE_STATUS_COPY                          1
-#define LSF_IMAGE_STATUS_VALIDATION_CODE_FAILED                2
-#define LSF_IMAGE_STATUS_VALIDATION_DATA_FAILED                3
-#define LSF_IMAGE_STATUS_VALIDATION_DONE               4
-#define LSF_IMAGE_STATUS_VALIDATION_SKIPPED            5
-#define LSF_IMAGE_STATUS_BOOTSTRAP_READY               6
-};
-
-/**
- * struct ls_ucode_img_r352 - ucode image augmented with r352 headers
- */
-struct ls_ucode_img_r352 {
-       struct ls_ucode_img base;
-
-       struct acr_r352_lsf_wpr_header wpr_header;
-       struct acr_r352_lsf_lsb_header lsb_header;
-};
-#define ls_ucode_img_r352(i) container_of(i, struct ls_ucode_img_r352, base)
-
 
 /*
  * HS blob structures