From: Even Xu <even.xu@intel.com> Date: 2021-06-10 06:22:07
These patch set are used for enabling ISH DMA on EHL platform.
During ISH DMA enabling, some platforms (such as EHL) don't
support cache snooping, bus driver (ishtp) has to involve
a new callback, dma_no_cache_snooping(), in hardware layer (ipc)
to get hardware DMA capability.
When do cache flush, clflush_cache_range() API is used on X86
which isn't supported by all other archs (such as ARM).
Considering ISH only exists on Intel platforms, adding ISH
depending on X86 in Kconfig to avoid build warnings or errors
on other archs.
Even Xu (3):
hid: intel-ish-hid: Set ISH driver depends on x86
hid: intel-ish-hid: ishtp: Add dma_no_cache_snooping() callback
hid: intel-ish-hid: ipc: Specify that EHL no cache snooping
drivers/hid/intel-ish-hid/Kconfig | 1 +
drivers/hid/intel-ish-hid/ipc/ipc.c | 26 +++++++++++++++++++++++++-
drivers/hid/intel-ish-hid/ishtp/client.c | 18 ++++++++++++++++++
drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h | 1 +
4 files changed, 45 insertions(+), 1 deletion(-)
--
2.7.4
From: Even Xu <even.xu@intel.com> Date: 2021-06-10 06:22:08
Different platforms have different DMA capability, on most of
platforms, DMA support cache snooping. But few platforms,
such as ElkhartLake (EHL), don't support cache snooping
which requires cache flush from driver.
So add a hardware level callback to let ishtp driver know if cache
flush is needed.
As most of platform support cache snooping, so driver will not
do cache flush by default, until platform implements this callback
and return true explicitly.
Acked-by: Pandruvada, Srinivas <redacted>
Signed-off-by: Even Xu <even.xu@intel.com>
---
drivers/hid/intel-ish-hid/ishtp/client.c | 18 ++++++++++++++++++
drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h | 1 +
2 files changed, 19 insertions(+)
From: Even Xu <even.xu@intel.com> Date: 2021-06-10 06:22:08
During ISH DMA enabling, some platforms (such as EHL) don't
support cache snooping, driver needs involve clflush_cache_range
API which isn't supported by all archs (such as ARM).
Considering ISH only exists on Intel platforms, add the dependence
in Kconfig to avoid build warnings or errors on other archs.
Acked-by: Pandruvada, Srinivas <redacted>
Signed-off-by: Even Xu <even.xu@intel.com>
---
drivers/hid/intel-ish-hid/Kconfig | 1 +
1 file changed, 1 insertion(+)
These patch set are used for enabling ISH DMA on EHL platform.
During ISH DMA enabling, some platforms (such as EHL) don't
support cache snooping, bus driver (ishtp) has to involve
a new callback, dma_no_cache_snooping(), in hardware layer (ipc)
to get hardware DMA capability.
When do cache flush, clflush_cache_range() API is used on X86
which isn't supported by all other archs (such as ARM).
Considering ISH only exists on Intel platforms, adding ISH
depending on X86 in Kconfig to avoid build warnings or errors
on other archs.
Even Xu (3):
hid: intel-ish-hid: Set ISH driver depends on x86
hid: intel-ish-hid: ishtp: Add dma_no_cache_snooping() callback
hid: intel-ish-hid: ipc: Specify that EHL no cache snooping
drivers/hid/intel-ish-hid/Kconfig | 1 +
drivers/hid/intel-ish-hid/ipc/ipc.c | 26 +++++++++++++++++++++++++-
drivers/hid/intel-ish-hid/ishtp/client.c | 18 ++++++++++++++++++
drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h | 1 +
4 files changed, 45 insertions(+), 1 deletion(-)
Now queued in for-5.14/intel-ish, thanks.
--
Jiri Kosina
SUSE Labs
Got it, Thanks Jiri!
Best Regards,
Even Xu
-----Original Message-----
From: Jiri Kosina <jikos@kernel.org>
Sent: Monday, June 14, 2021 9:56 PM
To: Xu, Even <even.xu@intel.com>
Cc: srinivas.pandruvada@linux.intel.com; benjamin.tissoires@redhat.com; linux-input@vger.kernel.org
Subject: Re: [PATCH 0/3] enable ISH DMA on EHL platform
On Thu, 10 Jun 2021, Even Xu wrote:
These patch set are used for enabling ISH DMA on EHL platform.
During ISH DMA enabling, some platforms (such as EHL) don't support
cache snooping, bus driver (ishtp) has to involve a new callback,
dma_no_cache_snooping(), in hardware layer (ipc) to get hardware DMA
capability.
When do cache flush, clflush_cache_range() API is used on X86 which
isn't supported by all other archs (such as ARM).
Considering ISH only exists on Intel platforms, adding ISH depending
on X86 in Kconfig to avoid build warnings or errors on other archs.
Even Xu (3):
hid: intel-ish-hid: Set ISH driver depends on x86
hid: intel-ish-hid: ishtp: Add dma_no_cache_snooping() callback
hid: intel-ish-hid: ipc: Specify that EHL no cache snooping
drivers/hid/intel-ish-hid/Kconfig | 1 +
drivers/hid/intel-ish-hid/ipc/ipc.c | 26 +++++++++++++++++++++++++-
drivers/hid/intel-ish-hid/ishtp/client.c | 18 ++++++++++++++++++
drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h | 1 +
4 files changed, 45 insertions(+), 1 deletion(-)
Now queued in for-5.14/intel-ish, thanks.
--
Jiri Kosina
SUSE Labs