Message ID | 20201009200138.1847317-1-Sandeep.Singh@amd.com (mailing list archive) |
---|---|
Headers | show |
Series | SFH: Add Support for AMD Sensor Fusion Hub | expand |
Hi Folks, On 10/10/2020 1:31 AM, Sandeep Singh wrote: > From: Sandeep Singh <sandeep.singh@amd.com> > > AMD SFH(Sensor Fusion Hub) is HID based driver.SFH FW is part of MP2 > processor (MP2 which is an ARM core connected to x86 for processing > sensor data) and it runs on MP2 where in the driver resides on X86. > The driver functionalities are divided into three parts:- > > 1: amd-mp2-pcie:- This part of the module will communicate with MP2 > firmware. MP2 which is exposed as a PCI device to the > X86, uses mailboxes to talk to MP2 firmware to > send/receive commands. > 2: Client Layer:- This part of the driver will use DRAM data and convert > the data into HID format based on HID reports. > 3: Transport layer :- This part of the driver the will communicate with HID > core.Communication between devices and HID core is > mostly done via HID reports > > In terms of architecture, it resembles like ISH (Intel Integrated Sensor > Hub). However the major difference is all the hid reports are generated > as part of the kernel driver. > > AMD SFH is integrated as a part of SoC, starting from 17h family of > processors. The solution is working well on several OEM products. > AMD SFH uses HID over PCIe bus. > > Changes since v1: > -> Fix auto build test warnings > -> Fix smatch warnings "possible memory leak" -Reported by Dan > carpenter > > Links of the review comments for v1: > [1] https://patchwork.kernel.org/patch/11325163/ > [2] https://patchwork.kernel.org/patch/11325167/ > [3] https://patchwork.kernel.org/patch/11325171/ > [4] https://patchwork.kernel.org/patch/11325187/ > > Changes since v2: > -> Debugfs divided into another patch > -> Fix some cosmetic changes > -> Fix for review comments > Reported and Suggested by:- Srinivas Pandruvada > > Links of the review comments for v2: > [1] https://patchwork.kernel.org/patch/11355491/ > [2] https://patchwork.kernel.org/patch/11355495/ > [3] https://patchwork.kernel.org/patch/11355499/ > [4] https://patchwork.kernel.org/patch/11355503/ > > Changes since v3: > -> Removed debugfs suggested by - Benjamin Tissoires > > Links of the review comments for v3: > [1] https://lkml.org/lkml/2020/2/11/1256 > [2] https://lkml.org/lkml/2020/2/11/1257 > [3] https://lkml.org/lkml/2020/2/11/1258 > [4] https://lkml.org/lkml/2020/2/11/1259 > [5] https://lkml.org/lkml/2020/2/11/1260 > > Changes since v4: > -> use PCI managed calls. > -> use kernel APIs > > Links of the review comments for v4: > [1] https://lkml.org/lkml/2020/2/26/1360 > [2] https://lkml.org/lkml/2020/2/26/1361 > [3] https://lkml.org/lkml/2020/2/26/1362 > [4] https://lkml.org/lkml/2020/2/26/1363 > [5] https://lkml.org/lkml/2020/2/27/1 > Changes since v5 > -> Fix for review comments by: Andy Shevchenko > -> Fix for indentations erros, NULL pointer,Redundant assignment > -> Drop LOCs in many location > -> Create as a single driver module instead of two modules. > > Links of the review comments for v5: > [1] https://lkml.org/lkml/2020/5/29/589 > [2] https://lkml.org/lkml/2020/5/29/590 > [3] https://lkml.org/lkml/2020/5/29/606 > [4] https://lkml.org/lkml/2020/5/29/632 > [5] https://lkml.org/lkml/2020/5/29/633 > > Changes since v6 > -> fix Kbuild warning "warning: ignoring return value of > 'pcim_enable_device', > -> Removed select HID and add depends on HID > > Links of the review comments for v6: > [1] https://lkml.org/lkml/2020/8/9/58 > [2] https://lkml.org/lkml/2020/8/9/59 > [3] https://lkml.org/lkml/2020/8/9/125 > [4] https://lkml.org/lkml/2020/8/9/61 > [5] https://lkml.org/lkml/2020/8/9/91 > > Changes since v7 > -> Add Co-deveploed-by > -> Build the Documentation > -> Fix cosmatic changes > -> Add init function inside probe function > -> Use devm_add_action_or_reset() to avoids the remove() > callback. > > Links of the review comments for v7: > [1] https://lkml.org/lkml/2020/8/10/1221 > [2] https://lkml.org/lkml/2020/8/10/1222 > [3] https://lkml.org/lkml/2020/8/10/1223 > [4] https://lkml.org/lkml/2020/8/10/1224 > [5] https://lkml.org/lkml/2020/8/10/1225 > > Sandeep Singh (4): > SFH: Add maintainers and documentation for AMD SFH based on HID > framework > SFH: PCIe driver to add support of AMD sensor fusion hub > SFH:Transport Driver to add support of AMD Sensor Fusion Hub (SFH) > SFH: Create HID report to Enable support of AMD sensor fusion Hub > (SFH) > > Documentation/hid/amd-sfh-hid.rst | 145 ++++ > Documentation/hid/index.rst | 1 + > MAINTAINERS | 8 + > drivers/hid/Kconfig | 2 + > drivers/hid/Makefile | 2 + > drivers/hid/amd-sfh-hid/Kconfig | 18 + > drivers/hid/amd-sfh-hid/Makefile | 13 + > drivers/hid/amd-sfh-hid/amd_sfh_client.c | 246 +++++++ > drivers/hid/amd-sfh-hid/amd_sfh_hid.c | 174 +++++ > drivers/hid/amd-sfh-hid/amd_sfh_hid.h | 67 ++ > drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 152 +++++ > drivers/hid/amd-sfh-hid/amd_sfh_pcie.h | 79 +++ > .../hid_descriptor/amd_sfh_hid_desc.c | 224 ++++++ > .../hid_descriptor/amd_sfh_hid_desc.h | 121 ++++ > .../hid_descriptor/amd_sfh_hid_report_desc.h | 645 ++++++++++++++++++ > 15 files changed, 1897 insertions(+) > create mode 100644 Documentation/hid/amd-sfh-hid.rst > create mode 100644 drivers/hid/amd-sfh-hid/Kconfig > create mode 100644 drivers/hid/amd-sfh-hid/Makefile > create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_client.c > create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_hid.c > create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_hid.h > create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_pcie.c > create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_pcie.h > create mode 100644 drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c > create mode 100644 drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h > create mode 100644 drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h Any feedback on this patch series.?
On Sat, 10 Oct 2020, Sandeep Singh wrote: > From: Sandeep Singh <sandeep.singh@amd.com> > > AMD SFH(Sensor Fusion Hub) is HID based driver.SFH FW is part of MP2 > processor (MP2 which is an ARM core connected to x86 for processing > sensor data) and it runs on MP2 where in the driver resides on X86. > The driver functionalities are divided into three parts:- > > 1: amd-mp2-pcie:- This part of the module will communicate with MP2 > firmware. MP2 which is exposed as a PCI device to the > X86, uses mailboxes to talk to MP2 firmware to > send/receive commands. > 2: Client Layer:- This part of the driver will use DRAM data and convert > the data into HID format based on HID reports. > 3: Transport layer :- This part of the driver the will communicate with HID > core.Communication between devices and HID core is > mostly done via HID reports > > In terms of architecture, it resembles like ISH (Intel Integrated Sensor > Hub). However the major difference is all the hid reports are generated > as part of the kernel driver. > > AMD SFH is integrated as a part of SoC, starting from 17h family of > processors. The solution is working well on several OEM products. > AMD SFH uses HID over PCIe bus. > > Changes since v1: > -> Fix auto build test warnings > -> Fix smatch warnings "possible memory leak" -Reported by Dan > carpenter > > Links of the review comments for v1: > [1] https://patchwork.kernel.org/patch/11325163/ > [2] https://patchwork.kernel.org/patch/11325167/ > [3] https://patchwork.kernel.org/patch/11325171/ > [4] https://patchwork.kernel.org/patch/11325187/ > > Changes since v2: > -> Debugfs divided into another patch > -> Fix some cosmetic changes > -> Fix for review comments > Reported and Suggested by:- Srinivas Pandruvada > > Links of the review comments for v2: > [1] https://patchwork.kernel.org/patch/11355491/ > [2] https://patchwork.kernel.org/patch/11355495/ > [3] https://patchwork.kernel.org/patch/11355499/ > [4] https://patchwork.kernel.org/patch/11355503/ > > Changes since v3: > -> Removed debugfs suggested by - Benjamin Tissoires > > Links of the review comments for v3: > [1] https://lkml.org/lkml/2020/2/11/1256 > [2] https://lkml.org/lkml/2020/2/11/1257 > [3] https://lkml.org/lkml/2020/2/11/1258 > [4] https://lkml.org/lkml/2020/2/11/1259 > [5] https://lkml.org/lkml/2020/2/11/1260 > > Changes since v4: > -> use PCI managed calls. > -> use kernel APIs > > Links of the review comments for v4: > [1] https://lkml.org/lkml/2020/2/26/1360 > [2] https://lkml.org/lkml/2020/2/26/1361 > [3] https://lkml.org/lkml/2020/2/26/1362 > [4] https://lkml.org/lkml/2020/2/26/1363 > [5] https://lkml.org/lkml/2020/2/27/1 > Changes since v5 > -> Fix for review comments by: Andy Shevchenko > -> Fix for indentations erros, NULL pointer,Redundant assignment > -> Drop LOCs in many location > -> Create as a single driver module instead of two modules. > > Links of the review comments for v5: > [1] https://lkml.org/lkml/2020/5/29/589 > [2] https://lkml.org/lkml/2020/5/29/590 > [3] https://lkml.org/lkml/2020/5/29/606 > [4] https://lkml.org/lkml/2020/5/29/632 > [5] https://lkml.org/lkml/2020/5/29/633 > > Changes since v6 > -> fix Kbuild warning "warning: ignoring return value of > 'pcim_enable_device', > -> Removed select HID and add depends on HID > > Links of the review comments for v6: > [1] https://lkml.org/lkml/2020/8/9/58 > [2] https://lkml.org/lkml/2020/8/9/59 > [3] https://lkml.org/lkml/2020/8/9/125 > [4] https://lkml.org/lkml/2020/8/9/61 > [5] https://lkml.org/lkml/2020/8/9/91 > > Changes since v7 > -> Add Co-deveploed-by > -> Build the Documentation > -> Fix cosmatic changes > -> Add init function inside probe function > -> Use devm_add_action_or_reset() to avoids the remove() > callback. > > Links of the review comments for v7: > [1] https://lkml.org/lkml/2020/8/10/1221 > [2] https://lkml.org/lkml/2020/8/10/1222 > [3] https://lkml.org/lkml/2020/8/10/1223 > [4] https://lkml.org/lkml/2020/8/10/1224 > [5] https://lkml.org/lkml/2020/8/10/1225 > > Sandeep Singh (4): > SFH: Add maintainers and documentation for AMD SFH based on HID > framework > SFH: PCIe driver to add support of AMD sensor fusion hub > SFH:Transport Driver to add support of AMD Sensor Fusion Hub (SFH) > SFH: Create HID report to Enable support of AMD sensor fusion Hub > (SFH) I have now applied the series to hid.git#for-5.11/amd-sfh-hid. Thanks for all the efforts in tidying this up,
On 10/22/2020 3:35 PM, Jiri Kosina wrote: > [snipped text] > I have now applied the series to hid.git#for-5.11/amd-sfh-hid. Thanks for > all the efforts in tidying this up, Thank you Jiri and all the community folks for improving this series with your feedback. I have sent a minor fix which was reported recently on top of your branch hid.git#for-5.11/amd-sfh-hid. Can you please review and apply it? > > -- > Jiri Kosina > SUSE Labs Thanks Sandeep
From: Sandeep Singh <sandeep.singh@amd.com> AMD SFH(Sensor Fusion Hub) is HID based driver.SFH FW is part of MP2 processor (MP2 which is an ARM core connected to x86 for processing sensor data) and it runs on MP2 where in the driver resides on X86. The driver functionalities are divided into three parts:- 1: amd-mp2-pcie:- This part of the module will communicate with MP2 firmware. MP2 which is exposed as a PCI device to the X86, uses mailboxes to talk to MP2 firmware to send/receive commands. 2: Client Layer:- This part of the driver will use DRAM data and convert the data into HID format based on HID reports. 3: Transport layer :- This part of the driver the will communicate with HID core.Communication between devices and HID core is mostly done via HID reports In terms of architecture, it resembles like ISH (Intel Integrated Sensor Hub). However the major difference is all the hid reports are generated as part of the kernel driver. AMD SFH is integrated as a part of SoC, starting from 17h family of processors. The solution is working well on several OEM products. AMD SFH uses HID over PCIe bus. Changes since v1: -> Fix auto build test warnings -> Fix smatch warnings "possible memory leak" -Reported by Dan carpenter Links of the review comments for v1: [1] https://patchwork.kernel.org/patch/11325163/ [2] https://patchwork.kernel.org/patch/11325167/ [3] https://patchwork.kernel.org/patch/11325171/ [4] https://patchwork.kernel.org/patch/11325187/ Changes since v2: -> Debugfs divided into another patch -> Fix some cosmetic changes -> Fix for review comments Reported and Suggested by:- Srinivas Pandruvada Links of the review comments for v2: [1] https://patchwork.kernel.org/patch/11355491/ [2] https://patchwork.kernel.org/patch/11355495/ [3] https://patchwork.kernel.org/patch/11355499/ [4] https://patchwork.kernel.org/patch/11355503/ Changes since v3: -> Removed debugfs suggested by - Benjamin Tissoires Links of the review comments for v3: [1] https://lkml.org/lkml/2020/2/11/1256 [2] https://lkml.org/lkml/2020/2/11/1257 [3] https://lkml.org/lkml/2020/2/11/1258 [4] https://lkml.org/lkml/2020/2/11/1259 [5] https://lkml.org/lkml/2020/2/11/1260 Changes since v4: -> use PCI managed calls. -> use kernel APIs Links of the review comments for v4: [1] https://lkml.org/lkml/2020/2/26/1360 [2] https://lkml.org/lkml/2020/2/26/1361 [3] https://lkml.org/lkml/2020/2/26/1362 [4] https://lkml.org/lkml/2020/2/26/1363 [5] https://lkml.org/lkml/2020/2/27/1 Changes since v5 -> Fix for review comments by: Andy Shevchenko -> Fix for indentations erros, NULL pointer,Redundant assignment -> Drop LOCs in many location -> Create as a single driver module instead of two modules. Links of the review comments for v5: [1] https://lkml.org/lkml/2020/5/29/589 [2] https://lkml.org/lkml/2020/5/29/590 [3] https://lkml.org/lkml/2020/5/29/606 [4] https://lkml.org/lkml/2020/5/29/632 [5] https://lkml.org/lkml/2020/5/29/633 Changes since v6 -> fix Kbuild warning "warning: ignoring return value of 'pcim_enable_device', -> Removed select HID and add depends on HID Links of the review comments for v6: [1] https://lkml.org/lkml/2020/8/9/58 [2] https://lkml.org/lkml/2020/8/9/59 [3] https://lkml.org/lkml/2020/8/9/125 [4] https://lkml.org/lkml/2020/8/9/61 [5] https://lkml.org/lkml/2020/8/9/91 Changes since v7 -> Add Co-deveploed-by -> Build the Documentation -> Fix cosmatic changes -> Add init function inside probe function -> Use devm_add_action_or_reset() to avoids the remove() callback. Links of the review comments for v7: [1] https://lkml.org/lkml/2020/8/10/1221 [2] https://lkml.org/lkml/2020/8/10/1222 [3] https://lkml.org/lkml/2020/8/10/1223 [4] https://lkml.org/lkml/2020/8/10/1224 [5] https://lkml.org/lkml/2020/8/10/1225 Sandeep Singh (4): SFH: Add maintainers and documentation for AMD SFH based on HID framework SFH: PCIe driver to add support of AMD sensor fusion hub SFH:Transport Driver to add support of AMD Sensor Fusion Hub (SFH) SFH: Create HID report to Enable support of AMD sensor fusion Hub (SFH) Documentation/hid/amd-sfh-hid.rst | 145 ++++ Documentation/hid/index.rst | 1 + MAINTAINERS | 8 + drivers/hid/Kconfig | 2 + drivers/hid/Makefile | 2 + drivers/hid/amd-sfh-hid/Kconfig | 18 + drivers/hid/amd-sfh-hid/Makefile | 13 + drivers/hid/amd-sfh-hid/amd_sfh_client.c | 246 +++++++ drivers/hid/amd-sfh-hid/amd_sfh_hid.c | 174 +++++ drivers/hid/amd-sfh-hid/amd_sfh_hid.h | 67 ++ drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 152 +++++ drivers/hid/amd-sfh-hid/amd_sfh_pcie.h | 79 +++ .../hid_descriptor/amd_sfh_hid_desc.c | 224 ++++++ .../hid_descriptor/amd_sfh_hid_desc.h | 121 ++++ .../hid_descriptor/amd_sfh_hid_report_desc.h | 645 ++++++++++++++++++ 15 files changed, 1897 insertions(+) create mode 100644 Documentation/hid/amd-sfh-hid.rst create mode 100644 drivers/hid/amd-sfh-hid/Kconfig create mode 100644 drivers/hid/amd-sfh-hid/Makefile create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_client.c create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_hid.c create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_hid.h create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_pcie.c create mode 100644 drivers/hid/amd-sfh-hid/amd_sfh_pcie.h create mode 100644 drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c create mode 100644 drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h create mode 100644 drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h