From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 27048CCA489 for ; Tue, 26 Jul 2022 08:30:09 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id ACAB2841EF; Tue, 26 Jul 2022 10:30:06 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.b="dxNtkl8W"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A4512841F5; Tue, 26 Jul 2022 10:30:04 +0200 (CEST) Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 67BCD841E8 for ; Tue, 26 Jul 2022 10:30:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=jh80.chung@samsung.com Received: from epcas1p2.samsung.com (unknown [182.195.41.46]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20220726082957epoutp0377aaf4c89c8c981540bd02370709dbdb~FU9Gc-4eR3019730197epoutp03s for ; Tue, 26 Jul 2022 08:29:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20220726082957epoutp0377aaf4c89c8c981540bd02370709dbdb~FU9Gc-4eR3019730197epoutp03s DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1658824197; bh=0mnngllSIu/LMeUD4WsnR810tRwZD68ZIg0xUj27Fg8=; h=Date:Subject:To:Cc:From:In-Reply-To:References:From; b=dxNtkl8WyrdzuNzXUASW7LezSYmnHKn2lVI21l8jWZyJXtyZ3irjTAzOBPUUw9Stv E/QqY+/ewm/s4UtEZGN3Ie5JVHdfathHppbsKyzxG1Ab4yeJHtSnlvFYDiGLlF0EF0 EbRC7IAdz3+lWF1m19ERwBW3HRZ9ei2kG2jlj7Hk= Received: from epsnrtp1.localdomain (unknown [182.195.42.162]) by epcas1p4.samsung.com (KnoxPortal) with ESMTP id 20220726082957epcas1p43e60cf660520913754fe0144e9d0aa0b~FU9GSE3SL1737117371epcas1p4Y; Tue, 26 Jul 2022 08:29:57 +0000 (GMT) Received: from epsmges1p1.samsung.com (unknown [182.195.36.135]) by epsnrtp1.localdomain (Postfix) with ESMTP id 4LsVTH6FsLz4x9Py; Tue, 26 Jul 2022 08:29:55 +0000 (GMT) Received: from epcas1p1.samsung.com ( [182.195.41.45]) by epsmges1p1.samsung.com (Symantec Messaging Gateway) with SMTP id EF.3F.09657.306AFD26; Tue, 26 Jul 2022 17:29:55 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas1p2.samsung.com (KnoxPortal) with ESMTPA id 20220726082955epcas1p2be5900d205e7ebadaf673b91df633725~FU9EohwJp1705317053epcas1p2h; Tue, 26 Jul 2022 08:29:55 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220726082955epsmtrp16339800f6c8fb3e21ef9c6c84e695a92~FU9EnvkrE1092510925epsmtrp1Q; Tue, 26 Jul 2022 08:29:55 +0000 (GMT) X-AuditID: b6c32a35-733ff700000025b9-59-62dfa603c890 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 55.6C.08905.306AFD26; Tue, 26 Jul 2022 17:29:55 +0900 (KST) Received: from [10.113.113.235] (unknown [10.113.113.235]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220726082955epsmtip1c60d8116ea695f54760cab898d769b5d~FU9ERiSvp3033230332epsmtip1J; Tue, 26 Jul 2022 08:29:55 +0000 (GMT) Message-ID: <2031e83f-f75d-5818-e048-c50bfcc2f6fb@samsung.com> Date: Tue, 26 Jul 2022 17:29:54 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH v2] mmc: fsl_esdhc_spl: Add support for loading proper U-Boot from unaligned location Content-Language: en-US To: =?UTF-8?Q?Pali_Roh=c3=a1r?= , "Peng Fan (OSS)" Cc: Priyanka Jain , Sinan Akman , u-boot@lists.denx.de From: Jaehoon Chung In-Reply-To: <20220620105426.23665-1-pali@kernel.org> Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAJsWRmVeSWpSXmKPExsWy7bCmri7zsvtJBp/XG1ks2HOazaJ9ZQeL RdeUFUwWV6YvZ7d4u7eT3YHVY9OqTjaPs3d2MHpsfLeDyePRkd0sHi9OtzAGsEZl22SkJqak Fimk5iXnp2TmpdsqeQfHO8ebmhkY6hpaWpgrKeQl5qbaKrn4BOi6ZeYAbVdSKEvMKQUKBSQW Fyvp29kU5ZeWpCpk5BeX2CqlFqTkFJgW6BUn5haX5qXr5aWWWBkaGBiZAhUmZGccnPyQueCt UMX8G0vZGhg/8HUxcnJICJhI3Hx/hb2LkYtDSGAHo8Trb5ugnE+MEn9vzoByvjFKNC/6zwbT MmnLPqjEXkaJNVv6GEESQgLvGSXe7o8AsXkF7CTmrHkK1sAioCrxdv0qRoi4oMTJmU9YQGxR gUiJNbvPsoPYwgLZEvemPWECsZkFxCVuPZkPZosIxEg8PLiIDSKeJLFj1zcwm01AR2L7t+Ng NZwCphKPNpxjh6iRl2jeOpsZ5DgJgUYOiZ43cxghrnaReLL8KwuELSzx6vgWdghbSuJlfxs7 REMzo8TSJQdZIZweRol/DdehfjaW2L90MtA6DqAVmhLrd+lDhBUldv6eywixmU/i3dceVpAS CQFeiY42IYgSFYlLr18ywey6++Q/K4TtITGn8T/LBEbFWUjhMgvJ/7OQ/DMLYfECRpZVjGKp BcW56anFhgWG8OhOzs/dxAhOmlqmOxgnvv2gd4iRiYPxEKMEB7OSCG9C9P0kId6UxMqq1KL8 +KLSnNTiQ4ymwNiZyCwlmpwPTNt5JfGGJpYGJmZGxiYWhmaGSuK8q6adThQSSE8sSc1OTS1I LYLpY+LglGpgUn56c3Vd31ebKIbGxK0VIc3yX5TTSgpMtKVVhG57Be4Wkb9/K+um+1qnud95 H12/+X9V8uv1n1suGd7NXMA0L29P7cagW1ZdPZtuma8T97tWKmA5eXaK/qPVs5beEjVewG9U uqdv0TYfB2Z10yNMDzcbqBcdzq9dfnTe7oUHPMM2dk7sPBY8a9va+Xl5fEv8Fyi85a8KPp+y 7P5i1z/3VIWm/ribF6HN8t1y9XPrxn4p+xYBxxDZKq6opzJpEjU9XstWP+/Z++ZuvvqHKUE5 i0R76kwvLpwYUqZQNj1S39xAzeCn/Uyx67az9UV1zgZvvM1UyrN2B8u8Jb8K2llu3r0XP//H +qen3GtyZ1rNUWIpzkg01GIuKk4EAEWuUFQjBAAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFLMWRmVeSWpSXmKPExsWy7bCSnC7zsvtJBs+eS1ss2HOazaJ9ZQeL RdeUFUwWV6YvZ7d4u7eT3YHVY9OqTjaPs3d2MHpsfLeDyePRkd0sHi9OtzAGsEZx2aSk5mSW pRbp2yVwZRyc/JC54K1QxfwbS9kaGD/wdTFyckgImEhM2rKPvYuRi0NIYDejxKx5G5khElIS n59OZeti5ACyhSUOHy4GCQsJvGWU+PIgFMTmFbCTmLPmKRuIzSKgKvF2/SpGiLigxMmZT1hA bFGBSImHy5qYQGxhgWyJe9OegNnMAuISt57MB7NFBGIkWptWs0LEkyQWfNnPBrErU+L25vtg NWwCOhLbvx0HszkFTCUebTjHDnIas4C6xPp5QhCt8hLNW2czT2AUmoXkillIts1C6JiFpGMB I8sqRsnUguLc9NxiwwLDvNRyveLE3OLSvHS95PzcTYzg6NDS3MG4fdUHvUOMTByMhxglOJiV RHgTou8nCfGmJFZWpRblxxeV5qQWH2KU5mBREue90HUyXkggPbEkNTs1tSC1CCbLxMEp1cDU flN1l6eb2wpVlSupN+52hPvaOjH+szS5ff9BywXBeZVHFRfEHpywkmvi0msJG+Pmcd0uUbDh l+CdGZ0y8UDm1rPWTy38fjdfnvKy79Tu6/YxIoKBvB1bI7866qkExr2Xddl1ufzQrOhZ0qYL iiTuxS5Yz3TizM/6Vs63RddDP+efvplSzcWafsbrF/uhjWFrhDz+n7htoHLkib+WwINN66ad Tr2jNu+DZtAGqUWTVTd61PfPmXauW9RXMNTPc3tQ5h2nBOvzrIeD+P+ny+dlaKjNONtVPjvC uFH99p7Vqvea5bYdX3zUuXuO61v3irL9PtHb2o1YMgIifr9MPbP0kMLs37vX27msr1x5Y7Gq EktxRqKhFnNRcSIAk5GuvP0CAAA= X-CMS-MailID: 20220726082955epcas1p2be5900d205e7ebadaf673b91df633725 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-Sendblock-Type: SVC_REQ_APPROVE CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220726082955epcas1p2be5900d205e7ebadaf673b91df633725 References: <129747c1-2218-f319-9e30-528fb9adbb31@oss.nxp.com> <20220620105426.23665-1-pali@kernel.org> X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean On 6/20/22 19:54, Pali Rohár wrote: > This allows to concatenate SPL and proper U-Boot without extra alignment. > > Signed-off-by: Pali Rohár Reviewed-by: Jaehoon Chung Best Regards, Jaehoon Chung > --- > Changes in v2: > * Rebased on top of the U-Boot next branch, commit 98c4828740f4944462b7d9608b95d5b73850c7b0 > --- > drivers/mmc/fsl_esdhc_spl.c | 27 +++++++++++++++++++++++---- > 1 file changed, 23 insertions(+), 4 deletions(-) > > diff --git a/drivers/mmc/fsl_esdhc_spl.c b/drivers/mmc/fsl_esdhc_spl.c > index 760f13d24018..54bf8152ca7a 100644 > --- a/drivers/mmc/fsl_esdhc_spl.c > +++ b/drivers/mmc/fsl_esdhc_spl.c > @@ -58,10 +58,10 @@ void __noreturn mmc_boot(void) > { > __attribute__((noreturn)) void (*uboot)(void); > uint blk_start, blk_cnt, err; > + u32 blk_off; > #ifndef CONFIG_FSL_CORENET > uchar *tmp_buf; > u32 blklen; > - u32 blk_off; > uchar val; > #ifndef CONFIG_SPL_FSL_PBL > u32 val32; > @@ -155,10 +155,21 @@ again: > * Load U-Boot image from mmc into RAM > */ > code_len = CONFIG_SYS_MMC_U_BOOT_SIZE; > - blk_start = ALIGN(offset, mmc->read_bl_len) / mmc->read_bl_len; > - blk_cnt = ALIGN(code_len, mmc->read_bl_len) / mmc->read_bl_len; > + blk_start = offset / mmc->read_bl_len; > + blk_off = offset % mmc->read_bl_len; > + blk_cnt = ALIGN(code_len, mmc->read_bl_len) / mmc->read_bl_len + 1; > + if (blk_off) { > + err = mmc->block_dev.block_read(&mmc->block_dev, > + blk_start, 1, tmp_buf); > + if (err != 1) { > + puts("spl: mmc read failed!!\n"); > + hang(); > + } > + blk_start++; > + } > err = mmc->block_dev.block_read(&mmc->block_dev, blk_start, blk_cnt, > - (uchar *)CONFIG_SYS_MMC_U_BOOT_DST); > + (uchar *)CONFIG_SYS_MMC_U_BOOT_DST + > + (blk_off ? (mmc->read_bl_len - blk_off) : 0)); > if (err != blk_cnt) { > puts("spl: mmc read failed!!\n"); > #ifndef CONFIG_FSL_CORENET > @@ -166,6 +177,14 @@ again: > #endif > hang(); > } > + /* > + * SDHC DMA may erase bytes at dst + bl_len - blk_off - 8 > + * due to unaligned access. So copy leading bytes from tmp_buf > + * after SDHC DMA transfer. > + */ > + if (blk_off) > + memcpy((uchar *)CONFIG_SYS_MMC_U_BOOT_DST, > + tmp_buf + blk_off, mmc->read_bl_len - blk_off); > > /* > * Clean d-cache and invalidate i-cache, to