Re: [PATCH net-next] net/nfc/nci: Support NCI 2.x initial sequence
From: Bongsu Jeon
Date: Tue Nov 17 2020 - 23:29:33 EST
On 11/18/20, Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
> On Tue, 17 Nov 2020 14:37:59 +0900 Bongsu Jeon wrote:
>> implement the NCI 2.x initial sequence to support NCI 2.x NFCC.
>> Since NCI 2.0, CORE_RESET and CORE_INIT sequence have been changed.
>> If NFCEE supports NCI 2.x, then NCI 2.x initial sequence will work.
>>
>> In NCI 1.0, Initial sequence and payloads are as below:
>> (DH) (NFCC)
>> | -- CORE_RESET_CMD --> |
>> | <-- CORE_RESET_RSP -- |
>> | -- CORE_INIT_CMD --> |
>> | <-- CORE_INIT_RSP -- |
>> CORE_RESET_RSP payloads are Status, NCI version, Configuration Status.
>> CORE_INIT_CMD payloads are empty.
>> CORE_INIT_RSP payloads are Status, NFCC Features,
>> Number of Supported RF Interfaces, Supported RF Interface,
>> Max Logical Connections, Max Routing table Size,
>> Max Control Packet Payload Size, Max Size for Large Parameters,
>> Manufacturer ID, Manufacturer Specific Information.
>>
>> In NCI 2.0, Initial Sequence and Parameters are as below:
>> (DH) (NFCC)
>> | -- CORE_RESET_CMD --> |
>> | <-- CORE_RESET_RSP -- |
>> | <-- CORE_RESET_NTF -- |
>> | -- CORE_INIT_CMD --> |
>> | <-- CORE_INIT_RSP -- |
>> CORE_RESET_RSP payloads are Status.
>> CORE_RESET_NTF payloads are Reset Trigger,
>> Configuration Status, NCI Version, Manufacturer ID,
>> Manufacturer Specific Information Length,
>> Manufacturer Specific Information.
>> CORE_INIT_CMD payloads are Feature1, Feature2.
>> CORE_INIT_RSP payloads are Status, NFCC Features,
>> Max Logical Connections, Max Routing Table Size,
>> Max Control Packet Payload Size,
>> Max Data Packet Payload Size of the Static HCI Connection,
>> Number of Credits of the Static HCI Connection,
>> Max NFC-V RF Frame Size, Number of Supported RF Interfaces,
>> Supported RF Interfaces.
>>
>> Signed-off-by: Bongsu Jeon <bongsu.jeon@xxxxxxxxxxx>
>
> Please fix the following sparse (build with C=1) warning:
>
> net/nfc/nci/ntf.c:42:17: warning: cast to restricted __le32
>
>> + __u8 status = 0;
>
> Please don't use the __u types in the normal kernel code, those are
> types for user space ABI.
>
Thanks for reviewing my patch.
I will change the code to fix it
and then resend my patch with version2.