Message ID | 1433260778-26497-9-git-send-email-maddy@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
> +int64_t opal_nest_ima_control(uint32_t value); If I'm understanding things correctly, you call this function in patch 3. Quoting from that patch: > +static void nest_init(void *dummy) > +{ > + opal_nest_ima_control(P8_NEST_ENGINE_START); > +} Does this patch need to be moved earlier in the series? Have you tested that the series compiles at every point? (I've found that this can be done quite easily with git rebase --interactive using x to run the compile) > + > /* Internal functions */ > extern int early_init_dt_scan_opal(unsigned long node, const char *uname, > int depth, void *data); > diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S > index a7ade94..ce36a68 100644 > --- a/arch/powerpc/platforms/powernv/opal-wrappers.S > +++ b/arch/powerpc/platforms/powernv/opal-wrappers.S > @@ -295,3 +295,4 @@ OPAL_CALL(opal_i2c_request, OPAL_I2C_REQUEST); > OPAL_CALL(opal_flash_read, OPAL_FLASH_READ); > OPAL_CALL(opal_flash_write, OPAL_FLASH_WRITE); > OPAL_CALL(opal_flash_erase, OPAL_FLASH_ERASE); > +OPAL_CALL(opal_nest_ima_control, OPAL_NEST_IMA_CONTROL);
On Wednesday 03 June 2015 06:24 AM, Daniel Axtens wrote: >> +int64_t opal_nest_ima_control(uint32_t value); > If I'm understanding things correctly, you call this function in patch > 3. Quoting from that patch: >> +static void nest_init(void *dummy) >> +{ >> + opal_nest_ima_control(P8_NEST_ENGINE_START); >> +} > Does this patch need to be moved earlier in the series? I applied all the patches together and tested it since the Makefile inclusion is the final patch in the series. I guess it is better rearrange the series. > Have you tested that the series compiles at every point? > (I've found that this can be done quite easily with > git rebase --interactive using x to run the compile) Nice. will try this out. Thanks for the review Maddy >> + >> /* Internal functions */ >> extern int early_init_dt_scan_opal(unsigned long node, const char *uname, >> int depth, void *data); >> diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S >> index a7ade94..ce36a68 100644 >> --- a/arch/powerpc/platforms/powernv/opal-wrappers.S >> +++ b/arch/powerpc/platforms/powernv/opal-wrappers.S >> @@ -295,3 +295,4 @@ OPAL_CALL(opal_i2c_request, OPAL_I2C_REQUEST); >> OPAL_CALL(opal_flash_read, OPAL_FLASH_READ); >> OPAL_CALL(opal_flash_write, OPAL_FLASH_WRITE); >> OPAL_CALL(opal_flash_erase, OPAL_FLASH_ERASE); >> +OPAL_CALL(opal_nest_ima_control, OPAL_NEST_IMA_CONTROL);
diff --git a/arch/powerpc/include/asm/opal-api.h b/arch/powerpc/include/asm/opal-api.h index 0321a90..8011a75 100644 --- a/arch/powerpc/include/asm/opal-api.h +++ b/arch/powerpc/include/asm/opal-api.h @@ -153,7 +153,8 @@ #define OPAL_FLASH_READ 110 #define OPAL_FLASH_WRITE 111 #define OPAL_FLASH_ERASE 112 -#define OPAL_LAST 112 +#define OPAL_NEST_IMA_CONTROL 116 +#define OPAL_LAST 116 /* Device tree flags */ diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h index 042af1a..f86e5e9 100644 --- a/arch/powerpc/include/asm/opal.h +++ b/arch/powerpc/include/asm/opal.h @@ -201,6 +201,8 @@ int64_t opal_flash_write(uint64_t id, uint64_t offset, uint64_t buf, int64_t opal_flash_erase(uint64_t id, uint64_t offset, uint64_t size, uint64_t token); +int64_t opal_nest_ima_control(uint32_t value); + /* Internal functions */ extern int early_init_dt_scan_opal(unsigned long node, const char *uname, int depth, void *data); diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S index a7ade94..ce36a68 100644 --- a/arch/powerpc/platforms/powernv/opal-wrappers.S +++ b/arch/powerpc/platforms/powernv/opal-wrappers.S @@ -295,3 +295,4 @@ OPAL_CALL(opal_i2c_request, OPAL_I2C_REQUEST); OPAL_CALL(opal_flash_read, OPAL_FLASH_READ); OPAL_CALL(opal_flash_write, OPAL_FLASH_WRITE); OPAL_CALL(opal_flash_erase, OPAL_FLASH_ERASE); +OPAL_CALL(opal_nest_ima_control, OPAL_NEST_IMA_CONTROL);
Nest Counters can be configured via PORE Engine and OPAL provides an interface to start/stop it. OPAL side patches are posted in the skiboot mailing. Cc: Stewart Smith <stewart@linux.vnet.ibm.com> Cc: Jeremy Kerr <jk@ozlabs.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Paul Mackerras <paulus@samba.org> Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com> Cc: Stephane Eranian <eranian@google.com> Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> --- arch/powerpc/include/asm/opal-api.h | 3 ++- arch/powerpc/include/asm/opal.h | 2 ++ arch/powerpc/platforms/powernv/opal-wrappers.S | 1 + 3 files changed, 5 insertions(+), 1 deletion(-)