lkml.org 
[lkml]   [2018]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 10/12] i2c: qup: send NACK for last read sub transfers
    From
    Date
    Hi Abhishek,

    On 2/3/2018 1:28 PM, Abhishek Sahu wrote:
    > According to I2c specification, “If a master-receiver sends a
    > repeated START condition, it sends a not-acknowledge (A) just
    > before the repeated START condition”. QUP v2 supports sending
    > of NACK without stop with QUP_TAG_V2_DATARD_NACK so added the
    > same.
    >
    > Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
    > ---
    > drivers/i2c/busses/i2c-qup.c | 5 ++++-
    > 1 file changed, 4 insertions(+), 1 deletion(-)
    >
    > diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c
    > index ba717bb..edea3b9 100644
    > --- a/drivers/i2c/busses/i2c-qup.c
    > +++ b/drivers/i2c/busses/i2c-qup.c
    > @@ -113,6 +113,7 @@
    > #define QUP_TAG_V2_DATAWR 0x82
    > #define QUP_TAG_V2_DATAWR_STOP 0x83
    > #define QUP_TAG_V2_DATARD 0x85
    > +#define QUP_TAG_V2_DATARD_NACK 0x86
    > #define QUP_TAG_V2_DATARD_STOP 0x87
    >
    > /* Status, Error flags */
    > @@ -609,7 +610,9 @@ static int qup_i2c_set_tags(u8 *tags, struct qup_i2c_dev *qup,
    > tags[len++] = QUP_TAG_V2_DATAWR_STOP;
    > } else {
    > if (msg->flags & I2C_M_RD)
    > - tags[len++] = QUP_TAG_V2_DATARD;
    > + tags[len++] = qup->blk.pos == (qup->blk.count - 1) ?
    > + QUP_TAG_V2_DATARD_NACK :
    > + QUP_TAG_V2_DATARD;
    > else
    > tags[len++] = QUP_TAG_V2_DATAWR;

    good one. Thanks .

    Regards,
    Sricharan

    --
    "QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

    \
     
     \ /
      Last update: 2018-02-16 06:41    [W:4.144 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site