From 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 07:44:59 +0000
Subject: [PATCH] gmac get mac form eeprom
---
kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c | 32 ++++++--------------------------
1 files changed, 6 insertions(+), 26 deletions(-)
diff --git a/kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c b/kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c
index 412bc59..ea1d941 100644
--- a/kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c
+++ b/kernel/drivers/soc/rockchip/sdmmc_vendor_storage.c
@@ -24,6 +24,7 @@
#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
@@ -45,17 +46,10 @@
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)
@@ -211,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)
--
Gitblit v1.6.2