[PATCH v2 7/7] ACPI/EC: Add detailed fields debugging support of EC_SC(R).

2014-06-14 Thread Lv Zheng
From: Lv Zheng 

Developers really don't need to translate EC_SC(R) in mind as long as the
field details are decoded in the debugging message.

Signed-off-by: Lv Zheng 
Tested-by: Gareth Williams 
Tested-by: Steffen Weber 
---
 drivers/acpi/ec.c |   16 
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 051ac47..c3299f6 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -55,6 +55,7 @@
 /* EC status register */
 #define ACPI_EC_FLAG_OBF   0x01/* Output buffer full */
 #define ACPI_EC_FLAG_IBF   0x02/* Input buffer full */
+#define ACPI_EC_FLAG_CMD   0x08/* Input buffer contains a command */
 #define ACPI_EC_FLAG_BURST 0x10/* burst mode */
 #define ACPI_EC_FLAG_SCI   0x20/* EC-SCI occurred */
 
@@ -133,26 +134,33 @@ static int EC_FLAGS_CLEAR_ON_RESUME; /* Needs 
acpi_ec_clear() on boot/resume */
 static inline u8 acpi_ec_read_status(struct acpi_ec *ec)
 {
u8 x = inb(ec->command_addr);
-   pr_debug("---> status = 0x%2.2x\n", x);
+   pr_debug("EC_SC(R) = 0x%2.2x "
+"SCI_EVT=%d BURST=%d CMD=%d IBF=%d OBF=%d\n",
+x,
+!!(x & ACPI_EC_FLAG_SCI),
+!!(x & ACPI_EC_FLAG_BURST),
+!!(x & ACPI_EC_FLAG_CMD),
+!!(x & ACPI_EC_FLAG_IBF),
+!!(x & ACPI_EC_FLAG_OBF));
return x;
 }
 
 static inline u8 acpi_ec_read_data(struct acpi_ec *ec)
 {
u8 x = inb(ec->data_addr);
-   pr_debug("---> data = 0x%2.2x\n", x);
+   pr_debug("EC_DATA(R) = 0x%2.2x\n", x);
return x;
 }
 
 static inline void acpi_ec_write_cmd(struct acpi_ec *ec, u8 command)
 {
-   pr_debug("<--- command = 0x%2.2x\n", command);
+   pr_debug("EC_SC(W) = 0x%2.2x\n", command);
outb(command, ec->command_addr);
 }
 
 static inline void acpi_ec_write_data(struct acpi_ec *ec, u8 data)
 {
-   pr_debug("<--- data = 0x%2.2x\n", data);
+   pr_debug("EC_DATA(W) = 0x%2.2x\n", data);
outb(data, ec->data_addr);
 }
 
-- 
1.7.10

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2 7/7] ACPI/EC: Add detailed fields debugging support of EC_SC(R).

2014-06-14 Thread Lv Zheng
From: Lv Zheng lv.zh...@intel.com

Developers really don't need to translate EC_SC(R) in mind as long as the
field details are decoded in the debugging message.

Signed-off-by: Lv Zheng lv.zh...@intel.com
Tested-by: Gareth Williams gar...@garethwilliams.me.uk
Tested-by: Steffen Weber steffen.we...@gmail.com
---
 drivers/acpi/ec.c |   16 
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 051ac47..c3299f6 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -55,6 +55,7 @@
 /* EC status register */
 #define ACPI_EC_FLAG_OBF   0x01/* Output buffer full */
 #define ACPI_EC_FLAG_IBF   0x02/* Input buffer full */
+#define ACPI_EC_FLAG_CMD   0x08/* Input buffer contains a command */
 #define ACPI_EC_FLAG_BURST 0x10/* burst mode */
 #define ACPI_EC_FLAG_SCI   0x20/* EC-SCI occurred */
 
@@ -133,26 +134,33 @@ static int EC_FLAGS_CLEAR_ON_RESUME; /* Needs 
acpi_ec_clear() on boot/resume */
 static inline u8 acpi_ec_read_status(struct acpi_ec *ec)
 {
u8 x = inb(ec-command_addr);
-   pr_debug(--- status = 0x%2.2x\n, x);
+   pr_debug(EC_SC(R) = 0x%2.2x 
+SCI_EVT=%d BURST=%d CMD=%d IBF=%d OBF=%d\n,
+x,
+!!(x  ACPI_EC_FLAG_SCI),
+!!(x  ACPI_EC_FLAG_BURST),
+!!(x  ACPI_EC_FLAG_CMD),
+!!(x  ACPI_EC_FLAG_IBF),
+!!(x  ACPI_EC_FLAG_OBF));
return x;
 }
 
 static inline u8 acpi_ec_read_data(struct acpi_ec *ec)
 {
u8 x = inb(ec-data_addr);
-   pr_debug(--- data = 0x%2.2x\n, x);
+   pr_debug(EC_DATA(R) = 0x%2.2x\n, x);
return x;
 }
 
 static inline void acpi_ec_write_cmd(struct acpi_ec *ec, u8 command)
 {
-   pr_debug(--- command = 0x%2.2x\n, command);
+   pr_debug(EC_SC(W) = 0x%2.2x\n, command);
outb(command, ec-command_addr);
 }
 
 static inline void acpi_ec_write_data(struct acpi_ec *ec, u8 data)
 {
-   pr_debug(--- data = 0x%2.2x\n, data);
+   pr_debug(EC_DATA(W) = 0x%2.2x\n, data);
outb(data, ec-data_addr);
 }
 
-- 
1.7.10

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/