From f70575805708cabdedea7498aaa3f710fde4d920 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 31 Jan 2024 03:29:01 +0000
Subject: [PATCH] add lvds1024*800

---
 kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c |   74 ++++++-------------------------------
 1 files changed, 12 insertions(+), 62 deletions(-)

diff --git a/kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c b/kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c
index f2d6067..ea1d941 100644
--- a/kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c
+++ b/kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c
@@ -23,41 +23,16 @@
 #include <linux/soc/rockchip/rk_vendor_storage.h>
 #include <linux/kthread.h>
 #include <linux/delay.h>
+#include <misc/rkflash_vendor_storage.h>
+#include "../../mmc/host/rk_sdmmc_ops.h"
 
 #define EMMC_IDB_PART_OFFSET		64
 #define EMMC_SYS_PART_OFFSET		8064
 #define EMMC_BOOT_PART_SIZE		1024
 #define EMMC_VENDOR_PART_START		(1024 * 7)
-#define EMMC_VENDOR_PART_SIZE		128
+#define EMMC_VENDOR_PART_SIZE		VENDOR_PART_SIZE
 #define EMMC_VENDOR_PART_NUM		4
-#define EMMC_VENDOR_TAG			0x524B5644
-
-struct rk_vendor_req {
-	u32 tag;
-	u16 id;
-	u16 len;
-	u8 data[1024];
-};
-
-struct vendor_item {
-	u16  id;
-	u16  offset;
-	u16  size;
-	u16  flag;
-};
-
-struct vendor_info {
-	u32	tag;
-	u32	version;
-	u16	next_index;
-	u16	item_num;
-	u16	free_offset;
-	u16	free_size;
-	struct	vendor_item item[126]; /* 126 * 8*/
-	u8	data[EMMC_VENDOR_PART_SIZE * 512 - 1024 - 8];
-	u32	hash;
-	u32	version2;
-};
+#define EMMC_VENDOR_TAG			VENDOR_HEAD_TAG
 
 #ifdef CONFIG_ROCKCHIP_VENDOR_STORAGE_UPDATE_LOADER
 #define READ_SECTOR_IO		_IOW('r', 0x04, unsigned int)
@@ -68,24 +43,13 @@
 #define GET_LOCK_FLAG_IO	_IOW('r', 0x53, unsigned int)
 #endif
 
-#define VENDOR_REQ_TAG		0x56524551
-#define VENDOR_READ_IO		_IOW('v', 0x01, unsigned int)
-#define VENDOR_WRITE_IO		_IOW('v', 0x02, unsigned int)
-
 static u8 *g_idb_buffer;
 static struct vendor_info *g_vendor;
 static DEFINE_MUTEX(vendor_ops_mutex);
-extern int rk_emmc_transfer(u8 *buffer, unsigned addr, unsigned blksz,
-			    int write);
 
 static int emmc_vendor_ops(u8 *buffer, u32 addr, u32 n_sec, int write)
 {
-	u32 i, ret = 0;
-
-	for (i = 0; i < n_sec; i++)
-		ret = rk_emmc_transfer(buffer + i * 512, addr + i, 512, write);
-
-	return ret;
+	return rk_emmc_transfer(buffer, addr, n_sec << 9, write);
 }
 
 static int emmc_vendor_storage_init(void)
@@ -241,34 +205,20 @@
 #ifdef CONFIG_ROCKCHIP_VENDOR_STORAGE_UPDATE_LOADER
 static int id_blk_read_data(u32 index, u32 n_sec, u8 *buf)
 {
-	u32 i;
-	u32 ret = 0;
-
 	if (index + n_sec >= 1024 * 5)
 		return 0;
 	index = index + EMMC_IDB_PART_OFFSET;
-	for (i = 0; i < n_sec; i++) {
-		ret = rk_emmc_transfer(buf + i * 512, index + i, 512, 0);
-		if (ret)
-			return ret;
-	}
-	return ret;
+
+	return rk_emmc_transfer(buf, index, n_sec << 9, 0);
 }
 
 static int id_blk_write_data(u32 index, u32 n_sec, u8 *buf)
 {
-	u32 i;
-	u32 ret = 0;
-
 	if (index + n_sec >= 1024 * 5)
 		return 0;
 	index = index + EMMC_IDB_PART_OFFSET;
-	for (i = 0; i < n_sec; i++) {
-		ret = rk_emmc_transfer(buf + i * 512, index + i, 512, 1);
-		if (ret)
-			return ret;
-	}
-	return ret;
+
+	return rk_emmc_transfer(buf, index, n_sec << 9, 1);
 }
 
 static int emmc_write_idblock(u32 size, u8 *buf, u32 *id_blk_tbl)
@@ -406,7 +356,7 @@
 {
 	long ret = -1;
 	int size;
-	struct rk_vendor_req *v_req;
+	struct RK_VENDOR_REQ *v_req;
 	u32 *page_buf;
 
 	page_buf = kmalloc(4096, GFP_KERNEL);
@@ -415,7 +365,7 @@
 
 	mutex_lock(&vendor_ops_mutex);
 
-	v_req = (struct rk_vendor_req *)page_buf;
+	v_req = (struct RK_VENDOR_REQ *)page_buf;
 
 	switch (cmd) {
 	case VENDOR_READ_IO:
@@ -574,7 +524,7 @@
 	return ret;
 }
 
-const struct file_operations vendor_storage_fops = {
+static const struct file_operations vendor_storage_fops = {
 	.open = vendor_storage_open,
 	.compat_ioctl	= vendor_storage_ioctl,
 	.unlocked_ioctl = vendor_storage_ioctl,

--
Gitblit v1.6.2