hw/sd: sdhci: Simplify updating s->prnsts in sdhci_sdma_transfer_multi_blocks()
s->prnsts is updated in both branches of the if () else () statement. Move the common bits outside so that it is cleaner. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Alexander Bulekov <alxndr@bu.edu> Reviewed-by: Alexander Bulekov <alxndr@bu.edu> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <1613447214-81951-5-git-send-email-bmeng.cn@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
c557e08d9c
commit
8bc1f1aa51
|
@ -596,9 +596,9 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s)
|
||||||
page_aligned = true;
|
page_aligned = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s->prnsts |= SDHC_DATA_INHIBIT | SDHC_DAT_LINE_ACTIVE;
|
||||||
if (s->trnmod & SDHC_TRNS_READ) {
|
if (s->trnmod & SDHC_TRNS_READ) {
|
||||||
s->prnsts |= SDHC_DOING_READ | SDHC_DATA_INHIBIT |
|
s->prnsts |= SDHC_DOING_READ;
|
||||||
SDHC_DAT_LINE_ACTIVE;
|
|
||||||
while (s->blkcnt) {
|
while (s->blkcnt) {
|
||||||
if (s->data_count == 0) {
|
if (s->data_count == 0) {
|
||||||
sdbus_read_data(&s->sdbus, s->fifo_buffer, block_size);
|
sdbus_read_data(&s->sdbus, s->fifo_buffer, block_size);
|
||||||
|
@ -625,8 +625,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
s->prnsts |= SDHC_DOING_WRITE | SDHC_DATA_INHIBIT |
|
s->prnsts |= SDHC_DOING_WRITE;
|
||||||
SDHC_DAT_LINE_ACTIVE;
|
|
||||||
while (s->blkcnt) {
|
while (s->blkcnt) {
|
||||||
begin = s->data_count;
|
begin = s->data_count;
|
||||||
if (((boundary_count + begin) < block_size) && page_aligned) {
|
if (((boundary_count + begin) < block_size) && page_aligned) {
|
||||||
|
|
Loading…
Reference in a new issue