* [PATCH] check xpm2_control_block while setting bm_control
@ 2007-06-08 20:25 Venki Pallipadi
2007-06-08 22:09 ` Pallipadi, Venkatesh
0 siblings, 1 reply; 4+ messages in thread
From: Venki Pallipadi @ 2007-06-08 20:25 UTC (permalink / raw)
To: Len Brown; +Cc: Robert Moore, linux-acpi
Check both pm2_control_block and cpm2_control_block for bm_control. It should
be better to do this with checking of address from consolidated
fadt_info_table[]. But, that will need some changes in acpica tables code.
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Index: linux-2.6.22-rc-mm/drivers/acpi/processor_core.c
===================================================================
--- linux-2.6.22-rc-mm.orig/drivers/acpi/processor_core.c 2007-06-07 11:03:56.000000000 -0700
+++ linux-2.6.22-rc-mm/drivers/acpi/processor_core.c 2007-06-07 11:20:53.000000000 -0700
@@ -521,11 +521,22 @@
acpi_processor_errata(pr);
+ if (acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID) {
+ /* FADT rev. 2 */
+ if (acpi_gbl_FADT.xpm_timer_block.space_id !=
+ ACPI_ADR_SPACE_SYSTEM_IO)
/*
* Check to see if we have bus mastering arbitration control. This
* is required for proper C3 usage (to maintain cache coherency).
+ * Check both pm2_control_block and xpm2_control_block
*/
- if (acpi_gbl_FADT.pm2_control_block && acpi_gbl_FADT.pm2_control_length) {
+ if ((acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID &&
+ acpi_gbl_FADT.xpm2_control_block.space_id ==
+ ACPI_ADR_SPACE_SYSTEM_IO &&
+ acpi_gbl_FADT.xpm2_control_block.address &&
+ acpi_gbl_FADT.xpm2_control_block.bit_width) ||
+ (acpi_gbl_FADT.pm2_control_block &&
+ acpi_gbl_FADT.pm2_control_length)) {
pr->flags.bm_control = 1;
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Bus mastering arbitration control present\n"));
^ permalink raw reply [flat|nested] 4+ messages in thread* RE: [PATCH] check xpm2_control_block while setting bm_control 2007-06-08 20:25 [PATCH] check xpm2_control_block while setting bm_control Venki Pallipadi @ 2007-06-08 22:09 ` Pallipadi, Venkatesh 2007-06-08 22:16 ` Venki Pallipadi 0 siblings, 1 reply; 4+ messages in thread From: Pallipadi, Venkatesh @ 2007-06-08 22:09 UTC (permalink / raw) To: Pallipadi, Venkatesh, Brown, Len; +Cc: Moore, Robert, linux-acpi Ooops. Sent the wrong/old version of the patch. Len - Please do not apply this I will send a new one. Thanks, Venki >-----Original Message----- >From: Pallipadi, Venkatesh >Sent: Friday, June 08, 2007 1:26 PM >To: Brown, Len >Cc: Moore, Robert; linux-acpi@vger.kernel.org >Subject: [PATCH] check xpm2_control_block while setting bm_control > > >Check both pm2_control_block and cpm2_control_block for >bm_control. It should >be better to do this with checking of address from consolidated >fadt_info_table[]. But, that will need some changes in acpica >tables code. > >Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> > >Index: linux-2.6.22-rc-mm/drivers/acpi/processor_core.c >=================================================================== >--- linux-2.6.22-rc-mm.orig/drivers/acpi/processor_core.c >2007-06-07 11:03:56.000000000 -0700 >+++ linux-2.6.22-rc-mm/drivers/acpi/processor_core.c >2007-06-07 11:20:53.000000000 -0700 >@@ -521,11 +521,22 @@ > > acpi_processor_errata(pr); > >+ if (acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID) { >+ /* FADT rev. 2 */ >+ if (acpi_gbl_FADT.xpm_timer_block.space_id != >+ ACPI_ADR_SPACE_SYSTEM_IO) > /* > * Check to see if we have bus mastering arbitration >control. This > * is required for proper C3 usage (to maintain cache >coherency). >+ * Check both pm2_control_block and xpm2_control_block > */ >- if (acpi_gbl_FADT.pm2_control_block && >acpi_gbl_FADT.pm2_control_length) { >+ if ((acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID && >+ acpi_gbl_FADT.xpm2_control_block.space_id == >+ >ACPI_ADR_SPACE_SYSTEM_IO && >+ acpi_gbl_FADT.xpm2_control_block.address && >+ acpi_gbl_FADT.xpm2_control_block.bit_width) || >+ (acpi_gbl_FADT.pm2_control_block && >+ acpi_gbl_FADT.pm2_control_length)) { > pr->flags.bm_control = 1; > ACPI_DEBUG_PRINT((ACPI_DB_INFO, > "Bus mastering arbitration >control present\n")); > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] check xpm2_control_block while setting bm_control 2007-06-08 22:09 ` Pallipadi, Venkatesh @ 2007-06-08 22:16 ` Venki Pallipadi 2007-07-19 1:54 ` Brown, Len 0 siblings, 1 reply; 4+ messages in thread From: Venki Pallipadi @ 2007-06-08 22:16 UTC (permalink / raw) To: Pallipadi, Venkatesh; +Cc: Brown, Len, Moore, Robert, linux-acpi On Fri, Jun 08, 2007 at 03:09:47PM -0700, Pallipadi, Venkatesh wrote: > > > Ooops. Sent the wrong/old version of the patch. > Len - Please do not apply this I will send a new one. > > Thanks, > Venki > Below is the proper patch I wanted to send earlier. Thanks, Venki Check both pm2_control_block and cpm2_control_block for bm_control. It should be better to do this with checking of address from consolidated fadt_info_table[]. But, that will need some changes in acpica tables. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Index: linux-2.6.22-rc-mm/drivers/acpi/processor_core.c =================================================================== --- linux-2.6.22-rc-mm.orig/drivers/acpi/processor_core.c 2007-06-07 11:33:00.000000000 -0700 +++ linux-2.6.22-rc-mm/drivers/acpi/processor_core.c 2007-06-08 14:26:32.000000000 -0700 @@ -524,8 +524,15 @@ /* * Check to see if we have bus mastering arbitration control. This * is required for proper C3 usage (to maintain cache coherency). + * Check both pm2_control_block and xpm2_control_block */ - if (acpi_gbl_FADT.pm2_control_block && acpi_gbl_FADT.pm2_control_length) { + if ((acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID && + acpi_gbl_FADT.xpm2_control_block.space_id == + ACPI_ADR_SPACE_SYSTEM_IO && + acpi_gbl_FADT.xpm2_control_block.address && + acpi_gbl_FADT.xpm2_control_block.bit_width) || + (acpi_gbl_FADT.pm2_control_block && + acpi_gbl_FADT.pm2_control_length)) { pr->flags.bm_control = 1; ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Bus mastering arbitration control present\n")); ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH] check xpm2_control_block while setting bm_control 2007-06-08 22:16 ` Venki Pallipadi @ 2007-07-19 1:54 ` Brown, Len 0 siblings, 0 replies; 4+ messages in thread From: Brown, Len @ 2007-07-19 1:54 UTC (permalink / raw) To: Pallipadi, Venkatesh; +Cc: Moore, Robert, linux-acpi as fadt_info_table[] and acpi_tb_convert_fadt() will always put the valid address at acpi_gbl_FADT.xpm2_control_block -- that is the only one you need to check, and you don't need to check FADT version. thanks, -Len >-----Original Message----- >From: Pallipadi, Venkatesh >Sent: Friday, June 08, 2007 6:16 PM >To: Pallipadi, Venkatesh >Cc: Brown, Len; Moore, Robert; linux-acpi@vger.kernel.org >Subject: Re: [PATCH] check xpm2_control_block while setting bm_control > >On Fri, Jun 08, 2007 at 03:09:47PM -0700, Pallipadi, Venkatesh wrote: >> >> >> Ooops. Sent the wrong/old version of the patch. >> Len - Please do not apply this I will send a new one. >> >> Thanks, >> Venki >> >Below is the proper patch I wanted to send earlier. >Thanks, >Venki > > > >Check both pm2_control_block and cpm2_control_block for >bm_control. It should >be better to do this with checking of address from consolidated >fadt_info_table[]. But, that will need some changes in acpica tables. > >Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> > >Index: linux-2.6.22-rc-mm/drivers/acpi/processor_core.c >=================================================================== >--- linux-2.6.22-rc-mm.orig/drivers/acpi/processor_core.c >2007-06-07 11:33:00.000000000 -0700 >+++ linux-2.6.22-rc-mm/drivers/acpi/processor_core.c >2007-06-08 14:26:32.000000000 -0700 >@@ -524,8 +524,15 @@ > /* > * Check to see if we have bus mastering arbitration >control. This > * is required for proper C3 usage (to maintain cache >coherency). >+ * Check both pm2_control_block and xpm2_control_block > */ >- if (acpi_gbl_FADT.pm2_control_block && >acpi_gbl_FADT.pm2_control_length) { >+ if ((acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID && >+ acpi_gbl_FADT.xpm2_control_block.space_id == >+ >ACPI_ADR_SPACE_SYSTEM_IO && >+ acpi_gbl_FADT.xpm2_control_block.address && >+ acpi_gbl_FADT.xpm2_control_block.bit_width) || >+ (acpi_gbl_FADT.pm2_control_block && >+ acpi_gbl_FADT.pm2_control_length)) { > pr->flags.bm_control = 1; > ACPI_DEBUG_PRINT((ACPI_DB_INFO, > "Bus mastering arbitration >control present\n")); > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-07-19 1:54 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-06-08 20:25 [PATCH] check xpm2_control_block while setting bm_control Venki Pallipadi 2007-06-08 22:09 ` Pallipadi, Venkatesh 2007-06-08 22:16 ` Venki Pallipadi 2007-07-19 1:54 ` Brown, Len
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox