lkml.org 
[lkml]   [2022]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 0/7] mailbox: apple: peek_data cleanup and implementation
    Date
    From: Jassi Brar <jassisinghbrar@gmail.com>


    Hi,

    > The mailbox API has a `peek_data` operation. Its intent and
    > documentation is rather ambiguous; at first glance and based on the
    > name, it seems like it should only check for whether data is currently
    > pending in the controller, without actually delivering it to the
    > consumer. However, this interpretation is not useful for anything: the
    > function can be called from atomic context, but without a way to
    > actually *poll* for data from atomic context, there is no use in just
    > checking for whether data is available.
    >
    Not exactly... the 'peek_data' is a means for client driver to hint the
    controller driver that some data might have arrived (for controllers that
    don't have anything like RX-Irq). The controller is then expected to dispatch
    data after "not necessarily atomic" read.

    For example, a quick look at some bit may tell there is data available,
    but actually reading the data from buffer may be non-atomic.
    In your case, you could already implement the patch-7/7 by simply calling it
    peek_data() instead of poll_data(). Its ok to call mbox_chan_received_data()
    from peek_data() because your data-read can be atomic.

    Also some platforms may not have users of peek_data upstream (yet), so
    simply weeding them out may not be right.

    thanks.

    \
     
     \ /
      Last update: 2022-05-24 16:57    [W:3.224 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site