|
@@ -55,6 +55,7 @@
|
|
/* EC status register */
|
|
/* EC status register */
|
|
#define ACPI_EC_FLAG_OBF 0x01 /* Output buffer full */
|
|
#define ACPI_EC_FLAG_OBF 0x01 /* Output buffer full */
|
|
#define ACPI_EC_FLAG_IBF 0x02 /* Input 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_BURST 0x10 /* burst mode */
|
|
#define ACPI_EC_FLAG_SCI 0x20 /* EC-SCI occurred */
|
|
#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)
|
|
static inline u8 acpi_ec_read_status(struct acpi_ec *ec)
|
|
{
|
|
{
|
|
u8 x = inb(ec->command_addr);
|
|
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;
|
|
return x;
|
|
}
|
|
}
|
|
|
|
|
|
static inline u8 acpi_ec_read_data(struct acpi_ec *ec)
|
|
static inline u8 acpi_ec_read_data(struct acpi_ec *ec)
|
|
{
|
|
{
|
|
u8 x = inb(ec->data_addr);
|
|
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;
|
|
return x;
|
|
}
|
|
}
|
|
|
|
|
|
static inline void acpi_ec_write_cmd(struct acpi_ec *ec, u8 command)
|
|
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);
|
|
outb(command, ec->command_addr);
|
|
}
|
|
}
|
|
|
|
|
|
static inline void acpi_ec_write_data(struct acpi_ec *ec, u8 data)
|
|
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);
|
|
outb(data, ec->data_addr);
|
|
}
|
|
}
|
|
|
|
|