From: Christophe Leroy <christophe.leroy@c-s.fr>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Michael Ellerman <mpe@ellerman.id.au>,
oss@buserror.net
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: [PATCH v3 09/10] powerpc/8xx: Use IO accessors in microcode programming.
Date: Fri, 14 Jun 2019 06:41:46 +0000 (UTC) [thread overview]
Message-ID: <11be0db50617a93af596d5b2f8b2a04d0c60456b.1560494349.git.christophe.leroy@c-s.fr> (raw)
In-Reply-To: <04852442b540e73be0a20e13f69ab8427fd102e0.1560494348.git.christophe.leroy@c-s.fr>
Change microcode functions to use IO accessors and get rid
of volatile attributes.
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
arch/powerpc/platforms/8xx/micropatch.c | 34 ++++++++++++++++-----------------
1 file changed, 16 insertions(+), 18 deletions(-)
diff --git a/arch/powerpc/platforms/8xx/micropatch.c b/arch/powerpc/platforms/8xx/micropatch.c
index 252db7c90599..986aa6978ab7 100644
--- a/arch/powerpc/platforms/8xx/micropatch.c
+++ b/arch/powerpc/platforms/8xx/micropatch.c
@@ -242,13 +242,7 @@ static void __init cpm_write_patch(cpm8xx_t *cp, int offset, uint *patch, int le
void __init cpm_load_patch(cpm8xx_t *cp)
{
- volatile cpm8xx_t *commproc;
- volatile iic_t *iip;
- volatile struct spi_pram *spp;
- volatile smc_uart_t *smp;
- commproc = cp;
-
- commproc->cp_rccr = 0;
+ out_be16(&cp->cp_rccr, 0);
cpm_write_patch(cp, 0, patch_2000, sizeof(patch_2000));
cpm_write_patch(cp, 0xf00, patch_2f00, sizeof(patch_2f00));
@@ -257,26 +251,30 @@ void __init cpm_load_patch(cpm8xx_t *cp)
if (IS_ENABLED(CONFIG_I2C_SPI_UCODE_PATCH) ||
IS_ENABLED(CONFIG_I2C_SPI_SMC1_UCODE_PATCH)) {
u16 rpbase = 0x500;
+ iic_t *iip;
+ struct spi_pram *spp;
- iip = (iic_t *)&commproc->cp_dparam[PROFF_IIC];
- iip->iic_rpbase = rpbase;
+ iip = (iic_t *)&cp->cp_dparam[PROFF_IIC];
+ out_be16(&iip->iic_rpbase, rpbase);
/* Put SPI above the IIC, also 32-byte aligned. */
- spp = (struct spi_pram *)&commproc->cp_dparam[PROFF_SPI];
- spp->rpbase = (rpbase + sizeof(iic_t) + 31) & ~31;
+ spp = (struct spi_pram *)&cp->cp_dparam[PROFF_SPI];
+ out_be16(&spp->rpbase, (rpbase + sizeof(iic_t) + 31) & ~31);
if (IS_ENABLED(CONFIG_I2C_SPI_SMC1_UCODE_PATCH)) {
- smp = (smc_uart_t *)&commproc->cp_dparam[PROFF_SMC1];
- smp->smc_rpbase = 0x1FC0;
+ smc_uart_t *smp;
+
+ smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC1];
+ out_be16(&smp->smc_rpbase, 0x1FC0);
}
}
- commproc->cp_cpmcr1 = patch_params.cpmcr1;
- commproc->cp_cpmcr2 = patch_params.cpmcr2;
- commproc->cp_cpmcr3 = patch_params.cpmcr3;
- commproc->cp_cpmcr4 = patch_params.cpmcr4;
+ out_be16(&cp->cp_cpmcr1, patch_params.cpmcr1);
+ out_be16(&cp->cp_cpmcr2, patch_params.cpmcr2);
+ out_be16(&cp->cp_cpmcr3, patch_params.cpmcr3);
+ out_be16(&cp->cp_cpmcr4, patch_params.cpmcr4);
- commproc->cp_rccr = patch_params.rccr;
+ out_be16(&cp->cp_rccr, patch_params.rccr);
pr_info("%s microcode patch installed\n", patch_name);
}
--
2.13.3
next prev parent reply other threads:[~2019-06-14 6:41 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-14 6:41 [PATCH v3 01/10] powerpc/8xx: move CPM1 related files from sysdev/ to platforms/8xx Christophe Leroy
2019-06-14 6:41 ` [PATCH v3 02/10] powerpc/8xx: drop verify_patch() Christophe Leroy
2019-06-14 6:41 ` [PATCH v3 03/10] powerpc/8xx: compact microcode arrays Christophe Leroy
2019-06-14 6:41 ` [PATCH v3 04/10] powerpc/8xx: refactor writing of CPM " Christophe Leroy
2019-06-14 6:41 ` [PATCH v3 05/10] powerpc/8xx: Refactor microcode write Christophe Leroy
2019-06-14 6:41 ` [PATCH v3 06/10] powerpc/8xx: refactor printing of microcode patch name Christophe Leroy
2019-06-14 6:41 ` [PATCH v3 07/10] powerpc/8xx: refactor programming of microcode CPM params Christophe Leroy
2019-06-14 6:41 ` [PATCH v3 08/10] powerpc/8xx: replace #ifdefs by IS_ENABLED() in microcode.c Christophe Leroy
2019-06-14 6:41 ` Christophe Leroy [this message]
2019-06-14 6:41 ` [PATCH v3 10/10] powerpc/8xx: Add microcode patch to move SMC parameter RAM Christophe Leroy
2019-07-08 1:19 ` [PATCH v3 01/10] powerpc/8xx: move CPM1 related files from sysdev/ to platforms/8xx Michael Ellerman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11be0db50617a93af596d5b2f8b2a04d0c60456b.1560494349.git.christophe.leroy@c-s.fr \
--to=christophe.leroy@c-s.fr \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=oss@buserror.net \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).