Lines Matching refs:v7
28 f34->fn->fd.data_base_addr + f34->v7.off.flash_status,
37 f34->v7.in_bl_mode = status >> 7;
38 f34->v7.flash_status = status & 0x1f;
40 if (f34->v7.flash_status != 0x00) {
42 __func__, f34->v7.flash_status, f34->v7.command);
46 f34->fn->fd.data_base_addr + f34->v7.off.flash_cmd,
55 f34->v7.command = command;
66 if (!wait_for_completion_timeout(&f34->v7.cmd_done, timeout)) {
125 base + f34->v7.off.partition_id,
174 f34->v7.command = command;
198 base + f34->v7.off.flash_cmd,
223 if (f34->v7.config_area == v7_UI_CONFIG_AREA)
225 else if (f34->v7.config_area == v7_DP_CONFIG_AREA)
227 else if (f34->v7.config_area == v7_PM_CONFIG_AREA)
229 else if (f34->v7.config_area == v7_BL_CONFIG_AREA)
231 else if (f34->v7.config_area == v7_FLASH_CONFIG_AREA)
265 base + f34->v7.off.partition_id,
286 f34->v7.config_area = v7_FLASH_CONFIG_AREA;
293 base + f34->v7.off.block_number,
301 put_unaligned_le16(f34->v7.flash_config_length, &length);
304 base + f34->v7.off.transfer_length,
312 init_completion(&f34->v7.cmd_done);
326 if (f34->v7.command == v7_CMD_IDLE &&
327 f34->v7.flash_status == 0x00) {
333 base + f34->v7.off.payload,
334 f34->v7.read_config_buf,
335 f34->v7.partition_table_bytes);
356 for (i = 0; i < f34->v7.partitions; i++) {
499 f34->v7.block_size = le16_to_cpu(query_1_7.block_size);
500 f34->v7.flash_config_length =
502 f34->v7.payload_length = le16_to_cpu(query_1_7.payload_length);
504 rmi_dbg(RMI_DEBUG_FN, &f34->fn->dev, "%s: f34->v7.block_size = %d\n",
505 __func__, f34->v7.block_size);
507 f34->v7.off.flash_status = V7_FLASH_STATUS_OFFSET;
508 f34->v7.off.partition_id = V7_PARTITION_ID_OFFSET;
509 f34->v7.off.block_number = V7_BLOCK_NUMBER_OFFSET;
510 f34->v7.off.transfer_length = V7_TRANSFER_LENGTH_OFFSET;
511 f34->v7.off.flash_cmd = V7_COMMAND_OFFSET;
512 f34->v7.off.payload = V7_PAYLOAD_OFFSET;
514 f34->v7.has_display_cfg = query_1_7.partition_support[1] & HAS_DISP_CFG;
515 f34->v7.has_guest_code =
539 f34->v7.partitions = 0;
541 f34->v7.partitions += hweight8(query_1_7.partition_support[i]);
548 f34->v7.partition_table_bytes = f34->v7.partitions * 8 + 2;
550 f34->v7.read_config_buf = devm_kzalloc(&f34->fn->dev,
551 f34->v7.partition_table_bytes,
553 if (!f34->v7.read_config_buf) {
554 f34->v7.read_config_buf_size = 0;
558 f34->v7.read_config_buf_size = f34->v7.partition_table_bytes;
559 ptable = f34->v7.read_config_buf;
569 &f34->v7.blkcount, &f34->v7.phyaddr);
578 block_count = f34->v7.img.ui_firmware.size / f34->v7.block_size;
581 if (block_count != f34->v7.blkcount.ui_firmware) {
584 block_count, f34->v7.blkcount.ui_firmware);
595 block_count = f34->v7.img.ui_config.size / f34->v7.block_size;
598 if (block_count != f34->v7.blkcount.ui_config) {
610 block_count = f34->v7.img.dp_config.size / f34->v7.block_size;
613 if (block_count != f34->v7.blkcount.dp_config) {
625 block_count = f34->v7.img.guest_code.size / f34->v7.block_size;
628 if (block_count != f34->v7.blkcount.guest_code) {
640 block_count = f34->v7.img.bl_config.size / f34->v7.block_size;
643 if (block_count != f34->v7.blkcount.bl_config) {
657 init_completion(&f34->v7.cmd_done);
659 switch (f34->v7.config_area) {
690 init_completion(&f34->v7.cmd_done);
709 init_completion(&f34->v7.cmd_done);
719 f34->v7.config_area = v7_UI_CONFIG_AREA;
724 if (f34->v7.has_display_cfg) {
725 f34->v7.config_area = v7_DP_CONFIG_AREA;
731 if (f34->v7.new_partition_table && f34->v7.has_guest_code) {
759 base + f34->v7.off.block_number,
767 max_transfer = min(f34->v7.payload_length,
768 (u16)(PAGE_SIZE / f34->v7.block_size));
775 base + f34->v7.off.transfer_length,
784 init_completion(&f34->v7.cmd_done);
795 base + f34->v7.off.payload,
796 &f34->v7.read_config_buf[index],
797 transfer * f34->v7.block_size);
805 index += (transfer * f34->v7.block_size);
831 base + f34->v7.off.block_number,
839 if (f34->v7.payload_length > (PAGE_SIZE / f34->v7.block_size))
840 max_transfer = PAGE_SIZE / f34->v7.block_size;
842 max_transfer = f34->v7.payload_length;
848 init_completion(&f34->v7.cmd_done);
851 base + f34->v7.off.transfer_length,
865 base + f34->v7.off.payload,
866 block_ptr, transfer * f34->v7.block_size);
878 block_ptr += (transfer * f34->v7.block_size);
890 return rmi_f34v7_write_f34v7_blocks(f34, f34->v7.config_data,
891 f34->v7.config_block_count,
897 f34->v7.config_area = v7_UI_CONFIG_AREA;
898 f34->v7.config_data = f34->v7.img.ui_config.data;
899 f34->v7.config_size = f34->v7.img.ui_config.size;
900 f34->v7.config_block_count = f34->v7.config_size / f34->v7.block_size;
907 f34->v7.config_area = v7_DP_CONFIG_AREA;
908 f34->v7.config_data = f34->v7.img.dp_config.data;
909 f34->v7.config_size = f34->v7.img.dp_config.size;
910 f34->v7.config_block_count = f34->v7.config_size / f34->v7.block_size;
917 return rmi_f34v7_write_f34v7_blocks(f34, f34->v7.img.guest_code.data,
918 f34->v7.img.guest_code.size /
919 f34->v7.block_size,
927 f34->v7.config_area = v7_FLASH_CONFIG_AREA;
928 f34->v7.config_data = f34->v7.img.fl_config.data;
929 f34->v7.config_size = f34->v7.img.fl_config.size;
930 f34->v7.config_block_count = f34->v7.config_size / f34->v7.block_size;
932 if (f34->v7.config_block_count != f34->v7.blkcount.fl_config) {
938 init_completion(&f34->v7.cmd_done);
963 block_count = f34->v7.blkcount.bl_config;
964 f34->v7.config_area = v7_BL_CONFIG_AREA;
965 f34->v7.config_size = f34->v7.block_size * block_count;
966 devm_kfree(&f34->fn->dev, f34->v7.read_config_buf);
967 f34->v7.read_config_buf = devm_kzalloc(&f34->fn->dev,
968 f34->v7.config_size, GFP_KERNEL);
969 if (!f34->v7.read_config_buf) {
970 f34->v7.read_config_buf_size = 0;
974 f34->v7.read_config_buf_size = f34->v7.config_size;
988 f34->v7.config_area = v7_BL_CONFIG_AREA;
989 f34->v7.config_data = f34->v7.read_config_buf;
990 f34->v7.config_size = f34->v7.img.bl_config.size;
991 f34->v7.config_block_count = f34->v7.config_size / f34->v7.block_size;
1004 blk_count = f34->v7.img.ui_firmware.size / f34->v7.block_size;
1006 return rmi_f34v7_write_f34v7_blocks(f34, f34->v7.img.ui_firmware.data,
1012 if (f34->v7.phyaddr.ui_firmware != f34->v7.img.phyaddr.ui_firmware) {
1013 f34->v7.new_partition_table = true;
1017 if (f34->v7.phyaddr.ui_config != f34->v7.img.phyaddr.ui_config) {
1018 f34->v7.new_partition_table = true;
1022 if (f34->v7.has_display_cfg &&
1023 f34->v7.phyaddr.dp_config != f34->v7.img.phyaddr.dp_config) {
1024 f34->v7.new_partition_table = true;
1028 if (f34->v7.has_guest_code &&
1029 f34->v7.phyaddr.guest_code != f34->v7.img.phyaddr.guest_code) {
1030 f34->v7.new_partition_table = true;
1034 f34->v7.new_partition_table = false;
1048 num_of_containers = f34->v7.img.bootloader.size / 4 - 1;
1051 addr = get_unaligned_le32(f34->v7.img.bootloader.data + i * 4);
1059 f34->v7.img.bl_config.data = content;
1060 f34->v7.img.bl_config.size = length;
1064 f34->v7.img.lockdown.data = content;
1065 f34->v7.img.lockdown.size = length;
1081 const void *image = f34->v7.image;
1086 f34->v7.img.checksum = le32_to_cpu(header->checksum);
1088 rmi_dbg(RMI_DEBUG_FN, &f34->fn->dev, "%s: f34->v7.img.checksum=%X\n",
1089 __func__, f34->v7.img.checksum);
1114 f34->v7.img.ui_firmware.data = content;
1115 f34->v7.img.ui_firmware.size = length;
1119 f34->v7.img.ui_config.data = content;
1120 f34->v7.img.ui_config.size = length;
1123 f34->v7.img.bl_version = *content;
1124 f34->v7.img.bootloader.data = content;
1125 f34->v7.img.bootloader.size = length;
1129 f34->v7.img.contains_guest_code = true;
1130 f34->v7.img.guest_code.data = content;
1131 f34->v7.img.guest_code.size = length;
1134 f34->v7.img.contains_display_cfg = true;
1135 f34->v7.img.dp_config.data = content;
1136 f34->v7.img.dp_config.size = length;
1139 f34->v7.img.contains_flash_config = true;
1140 f34->v7.img.fl_config.data = content;
1141 f34->v7.img.fl_config.size = length;
1144 f34->v7.img.contains_firmware_id = true;
1145 f34->v7.img.firmware_id =
1156 const struct image_header_10 *header = f34->v7.image;
1158 memset(&f34->v7.img, 0x00, sizeof(f34->v7.img));
1174 if (!f34->v7.img.contains_flash_config) {
1180 rmi_f34v7_parse_partition_table(f34, f34->v7.img.fl_config.data,
1181 &f34->v7.img.blkcount, &f34->v7.img.phyaddr);
1197 f34->v7.image = fw->data;
1205 if (!f34->v7.new_partition_table) {
1214 if (f34->v7.has_display_cfg &&
1215 f34->v7.img.contains_display_cfg) {
1221 if (f34->v7.has_guest_code && f34->v7.img.contains_guest_code) {
1236 if (f34->v7.new_partition_table) {
1245 f34->v7.img.ui_firmware.size);
1252 f34->v7.img.ui_config.size);
1254 f34->v7.config_area = v7_UI_CONFIG_AREA;
1259 if (f34->v7.has_display_cfg && f34->v7.img.contains_display_cfg) {
1267 if (f34->v7.new_partition_table) {
1268 if (f34->v7.has_guest_code && f34->v7.img.contains_guest_code) {
1291 if (f34->v7.in_bl_mode)
1294 init_completion(&f34->v7.cmd_done);
1313 f34->v7.config_area = v7_UI_CONFIG_AREA;
1314 f34->v7.image = fw->data;
1320 if (!f34->v7.force_update && f34->v7.new_partition_table) {
1333 if (f34->v7.in_bl_mode) {
1378 memset(&f34->v7.blkcount, 0x00, sizeof(f34->v7.blkcount));
1379 memset(&f34->v7.phyaddr, 0x00, sizeof(f34->v7.phyaddr));
1381 init_completion(&f34->v7.cmd_done);
1387 f34->v7.force_update = true;