自行编译的固件烧录不能进入安卓桌面,卡在android的logo上,最后重启进入recovery
diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-port.dtsi b/kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-port.dtsiindex f50fd7497b..f173b49371 100644
--- a/kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-port.dtsi
+++ b/kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-port.dtsi
@@ -190,7 +190,8 @@
};
&csi2_dphy_hw {
- status = "okay";
+ //status = "okay";
+ status = "disabled";
};
&csi2_dphy0 {
@@ -247,15 +248,18 @@
};
&rkisp {
- status = "okay";
+ //status = "okay";
+ status = "disabled";
};
&rkisp_mmu {
- status = "okay";
+ //status = "okay";
+ status = "disabled";
};
&rkisp_vir0 {
- status = "okay";
+ //status = "okay";
+ status = "disabled";
port {
#address-cells = <1>;
#size-cells = <0>;
@@ -268,7 +272,8 @@
};
&rkisp_vir1 {
- status = "okay";
+ //status = "okay";
+ status = "disabled";
port {
reg = <0>;
@@ -355,7 +360,8 @@
};
&mipi_csi2 {
- status = "okay";
+ //status = "okay";
+ status = "disabled";
ports {
#address-cells = <1>;
@@ -388,7 +394,8 @@
};
&rkcif_mipi_lvds {
- status = "okay";
+ //status = "okay";
+ status = "disabled";
port {
cif_mipi_in: endpoint {
remote-endpoint = <&mipi_csi2_output>;
-----------
diff --git a/kernel/drivers/mmc/core/block.c b/kernel/drivers/mmc/core/block.c
index 1c6552b2f8..39a5337753 100644
--- a/kernel/drivers/mmc/core/block.c
+++ b/kernel/drivers/mmc/core/block.c
@@ -49,7 +49,6 @@
#include "queue.h"
#include "block.h"
-#include "block_data.h"
#include "core.h"
#include "card.h"
#include "crypto.h"
@@ -98,7 +97,6 @@ static int max_devices;
static DEFINE_IDA(mmc_blk_ida);
static DEFINE_IDA(mmc_rpmb_ida);
-#ifndef _MMC_CORE_BLOCK_DATA_H
/*
* There is one mmc_blk_data per slot.
*/
@@ -138,7 +136,6 @@ struct mmc_blk_data {
struct dentry *status_dentry;
struct dentry *ext_csd_dentry;
};
-#endif /* _MMC_CORE_BLOCK_DATA_H */
/* Device type for RPMB character devices */
static dev_t mmc_rpmb_devt;
@@ -148,7 +145,6 @@ static struct bus_type mmc_rpmb_bus_type = {
.name = "mmc_rpmb",
};
-#ifndef _MMC_CORE_BLOCK_DATA_H
/**
* struct mmc_rpmb_data - special RPMB device type for these areas
* @dev: the device for the RPMB area
@@ -166,7 +162,6 @@ struct mmc_rpmb_data {
struct mmc_blk_data *md;
struct list_head node;
};
-#endif /* _MMC_CORE_BLOCK_DATA_H */
static DEFINE_MUTEX(open_lock);
@@ -347,14 +342,12 @@ mmc_blk_getgeo(struct block_device *bdev, struct hd_geometry *geo)
return 0;
}
-#ifndef _MMC_CORE_BLOCK_DATA_H
struct mmc_blk_ioc_data {
struct mmc_ioc_cmd ic;
unsigned char *buf;
u64 buf_bytes;
struct mmc_rpmb_data *rpmb;
};
-#endif /* _MMC_CORE_BLOCK_DATA_H */
static struct mmc_blk_ioc_data *mmc_blk_ioctl_copy_from_user(
struct mmc_ioc_cmd __user *user)
@@ -1694,31 +1687,31 @@ static void mmc_blk_read_single(struct mmc_queue *mq, struct request *req)
struct mmc_card *card = mq->card;
struct mmc_host *host = card->host;
blk_status_t error = BLK_STS_OK;
- int retries = 0;
do {
u32 status;
int err;
+ int retries = 0;
- mmc_blk_rw_rq_prep(mqrq, card, 1, mq);
+ while (retries++ <= MMC_READ_SINGLE_RETRIES) {
+ mmc_blk_rw_rq_prep(mqrq, card, 1, mq);
- mmc_wait_for_req(host, mrq);
+ mmc_wait_for_req(host, mrq);
- err = mmc_send_status(card, &status);
- if (err)
- goto error_exit;
-
- if (!mmc_host_is_spi(host) &&
- !mmc_blk_in_tran_state(status)) {
- err = mmc_blk_fix_state(card, req);
+ err = mmc_send_status(card, &status);
if (err)
goto error_exit;
- }
- if (mrq->cmd->error && retries++ < MMC_READ_SINGLE_RETRIES)
- continue;
+ if (!mmc_host_is_spi(host) &&
+ !mmc_blk_in_tran_state(status)) {
+ err = mmc_blk_fix_state(card, req);
+ if (err)
+ goto error_exit;
+ }
- retries = 0;
+ if (!mrq->cmd->error)
+ break;
+ }
if (mrq->cmd->error ||
mrq->data->error ||
@@ -2962,10 +2955,6 @@ static int mmc_blk_probe(struct mmc_card *card)
goto out;
}
- if (card->host->restrict_caps & RESTRICT_CARD_TYPE_EMMC) {
- mmc_blk_data_init(md);
- }
-
/* Add two debugfs entries */
mmc_blk_add_debugfs(card, md);
@@ -3000,10 +2989,6 @@ static void mmc_blk_remove(struct mmc_card *card)
this_card = NULL;
#endif
- if (card->host->restrict_caps & RESTRICT_CARD_TYPE_EMMC) {
- mmc_blk_data_deinit(md);
- }
-
mmc_blk_remove_parts(card, md);
pm_runtime_get_sync(&card->dev);
if (md->part_curr != md->part_type) {
-------------
页:
[1]