mei: use non cached hcsr for interrupt enablement
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
此提交包含在:
@@ -106,8 +106,9 @@ void mei_hcsr_set(struct mei_device *dev)
|
||||
*/
|
||||
void mei_clear_interrupts(struct mei_device *dev)
|
||||
{
|
||||
if ((dev->host_hw_state & H_IS) == H_IS)
|
||||
mei_reg_write(dev, H_CSR, dev->host_hw_state);
|
||||
u32 hcsr = mei_hcsr_read(dev);
|
||||
if ((hcsr & H_IS) == H_IS)
|
||||
mei_reg_write(dev, H_CSR, hcsr);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -117,8 +118,10 @@ void mei_clear_interrupts(struct mei_device *dev)
|
||||
*/
|
||||
void mei_enable_interrupts(struct mei_device *dev)
|
||||
{
|
||||
dev->host_hw_state |= H_IE;
|
||||
mei_hcsr_set(dev);
|
||||
u32 hcsr = mei_hcsr_read(dev);
|
||||
hcsr |= H_IE;
|
||||
hcsr &= ~H_IS;
|
||||
mei_reg_write(dev, H_CSR, hcsr);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -128,8 +131,10 @@ void mei_enable_interrupts(struct mei_device *dev)
|
||||
*/
|
||||
void mei_disable_interrupts(struct mei_device *dev)
|
||||
{
|
||||
dev->host_hw_state &= ~H_IE;
|
||||
mei_hcsr_set(dev);
|
||||
u32 hcsr = mei_hcsr_read(dev);
|
||||
hcsr &= ~H_IE;
|
||||
hcsr &= ~H_IS;
|
||||
mei_reg_write(dev, H_CSR, hcsr);
|
||||
}
|
||||
|
||||
/**
|
||||
|
新增問題並參考
封鎖使用者