#
980dcc7e |
| 12-Oct-2023 |
Randy Dunlap <rdunlap@infradead.org> |
misc: mei: interrupt.c: fix kernel-doc warnings
Fix kernel-doc warnings in interrupt.c:
interrupt.c:631: warning: contents before sections
Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: T
misc: mei: interrupt.c: fix kernel-doc warnings
Fix kernel-doc warnings in interrupt.c:
interrupt.c:631: warning: contents before sections
Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Tomas Winkler <tomas.winkler@intel.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20231012024845.29169-7-rdunlap@infradead.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
ae4cb6bd |
| 11-Oct-2023 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: docs: fix spelling errors
Fix spelling errors in the mei code base.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Link: https://lore.
mei: docs: fix spelling errors
Fix spelling errors in the mei code base.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Link: https://lore.kernel.org/r/20231011074301.223879-4-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
4ed1cc99 |
| 28-Sep-2022 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: add support to GSC extended header
GSC extend header is of variable size and data is provided in a sgl list inside the header and not in the data buffers, need to enable the path.
Signed-off-b
mei: add support to GSC extended header
GSC extend header is of variable size and data is provided in a sgl list inside the header and not in the data buffers, need to enable the path.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Vitaly Lubart <vitaly.lubart@intel.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://patchwork.freedesktop.org/patch/msgid/20220928004145.745803-2-daniele.ceraolospurio@intel.com
show more ...
|
#
c10187b1 |
| 08-Mar-2022 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: avoid iterator usage outside of list_for_each_entry
Usage of the iterator outside of the list_for_each_entry is considered harmful. https://lkml.org/lkml/2022/2/17/1032
Do not reference the lo
mei: avoid iterator usage outside of list_for_each_entry
Usage of the iterator outside of the list_for_each_entry is considered harmful. https://lkml.org/lkml/2022/2/17/1032
Do not reference the loop variable outside of the loop, by rearranging the orders of execution. Instead of performing search loop and checking outside the loop if the end of the list was hit and no matching element was found, the execution is performed inside the loop upon a successful match followed by a goto statement to the next step, therefore no condition has to be performed after the loop has ended.
Cc: <stable@vger.kernel.org> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Link: https://lore.kernel.org/r/20220308095926.300412-1-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
40292383 |
| 21-Jun-2021 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: revamp mei extension header structure layout.
The mei extension header was build as array of flexible structures which will not work if actually more headers are added. (Currently only vtag hea
mei: revamp mei extension header structure layout.
The mei extension header was build as array of flexible structures which will not work if actually more headers are added. (Currently only vtag header was used). Sparse reports:
drivers/misc/mei/hw.h:253:32: warning: array of flexible structures
Use basic type u8 for the variable sized extension. Define explicitly mei_ext_hdr_vtag structure. And also fix mei_ext_next() function to point correctly to the end of the header.
Note: the headers are part of firmware interface and need to be __packed.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Link: https://lore.kernel.org/r/20210621193756.134027-2-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
bbf0a947 |
| 26-May-2021 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: request autosuspend after sending rx flow control
A rx flow control waiting in the control queue may block autosuspend. Re-request autosuspend after flow control been sent to unblock the transi
mei: request autosuspend after sending rx flow control
A rx flow control waiting in the control queue may block autosuspend. Re-request autosuspend after flow control been sent to unblock the transition to the low power state.
Cc: <stable@vger.kernel.org> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Link: https://lore.kernel.org/r/20210526193334.445759-1-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
369aea84 |
| 06-Feb-2021 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: implement client dma setup.
Implement HBM message protocol to setup and tear down DMA buffer on behalf of an client. On top there DMA buffer allocation and its life time management.
Signed-off
mei: implement client dma setup.
Implement HBM message protocol to setup and tear down DMA buffer on behalf of an client. On top there DMA buffer allocation and its life time management.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Link: https://lore.kernel.org/r/20210206144325.25682-5-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
1309ecc9 |
| 29-Jan-2021 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: fix transfer over dma with extended header
The size in header field for packet transferred over DMA includes size of the extended header. Include extended header in size check. Add size and san
mei: fix transfer over dma with extended header
The size in header field for packet transferred over DMA includes size of the extended header. Include extended header in size check. Add size and sanity checks on extended header.
Cc: <stable@vger.kernel.org> # v5.10+ Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Link: https://lore.kernel.org/r/20210129120752.850325-1-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
0cd7c01a |
| 18-Aug-2020 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: add support for mei extended header.
Add an extend header beyond existing 4 bytes of the mei message header. The extension is of variable length, starting with meta header that contains the num
mei: add support for mei extended header.
Add an extend header beyond existing 4 bytes of the mei message header. The extension is of variable length, starting with meta header that contains the number of headers and the overall size of the extended headers excluding meta header itself followed by TLV list of extended headers. Currently only supported extension is the vtag. From the HW perspective the extended headers is already part of the payload.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Link: https://lore.kernel.org/r/20200818115147.2567012-5-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
1e55b609 |
| 11-Mar-2019 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: adjust the copyright notice in the files.
Use unified version of the copyright notice in the files Update copyright years according the year the files were touched, except this patch and SPDX c
mei: adjust the copyright notice in the files.
Use unified version of the copyright notice in the files Update copyright years according the year the files were touched, except this patch and SPDX conversions.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
9fff0425 |
| 11-Mar-2019 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: convert to SPDX license tags
Replace boiler plate licenses texts with the SPDX license identifiers in the mei files header.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by
mei: convert to SPDX license tags
Replace boiler plate licenses texts with the SPDX license identifiers in the mei files header.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
6316321f |
| 22-Nov-2018 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: dma ring: implement rx circular buffer logic
Implement circular buffer protocol over receive dma buffer. Add extension to the mei message header that holds length of the buffer on the dma buffe
mei: dma ring: implement rx circular buffer logic
Implement circular buffer protocol over receive dma buffer. Add extension to the mei message header that holds length of the buffer on the dma buffer.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
98e70866 |
| 31-Jul-2018 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: add support for variable length mei headers.
Remove header size knowledge from me and txe hw layers, this requires to change the write handler to accept header and its length as well as data an
mei: add support for variable length mei headers.
Remove header size knowledge from me and txe hw layers, this requires to change the write handler to accept header and its length as well as data and its length.
HBM messages are fixed to use basic header, hence we add mei_hbm2slots() that converts HBM message length and mei message header, while mei_data2slots() converts data length directly to the slots.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
de877437 |
| 12-Jul-2018 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: check for error returned from mei_hbuf_empty_slots()
mei_hbuf_empty_slots() may return with an error in case of circular buffer overflow. This type of error may be caused only by a bug. However
mei: check for error returned from mei_hbuf_empty_slots()
mei_hbuf_empty_slots() may return with an error in case of circular buffer overflow. This type of error may be caused only by a bug. However currently, the error won't be detected due signed type promotion in comparison to u32. We add explicit check for less then zero and explicit cast in comparison to suppress singn-compare warning.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
b7a020bf |
| 06-Jun-2018 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: discard messages from not connected client during power down.
This fixes regression introduced by commit 8d52af6795c0 ("mei: speed up the power down flow")
In power down or suspend flow a mess
mei: discard messages from not connected client during power down.
This fixes regression introduced by commit 8d52af6795c0 ("mei: speed up the power down flow")
In power down or suspend flow a message can still be received from the FW because the clients fake disconnection. In normal case we interpret messages w/o destination as corrupted and link reset is performed in order to clean the channel, but during power down link reset is already in progress resulting in endless loop. To resolve the issue under power down flow we discard messages silently.
Cc: <stable@vger.kernel.org> 4.16+ Fixes: 8d52af6795c0 ("mei: speed up the power down flow") Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199541 Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
99c06866 |
| 12-Jun-2017 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: validate the message header only in first fragment.
RX message header is received in the first fragment of the message and saved side and it is not modified after that, we don't need to validat
mei: validate the message header only in first fragment.
RX message header is received in the first fragment of the message and saved side and it is not modified after that, we don't need to validate it upon each fragment.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
394a77d0 |
| 20-Mar-2017 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: drop amthif internal client
AMTHIF has special support in the mei drive, it handles multiplexing multiple user space connection above single me client connection. Since there is no additional a
mei: drop amthif internal client
AMTHIF has special support in the mei drive, it handles multiplexing multiple user space connection above single me client connection. Since there is no additional addressing information there is a strict requirement on the traffic order on each connection and on the "read after write" order within the connection. This creates a lot of complexity mostly because the other client types do not necessarily fall under the same restriction. After carefully studying the use of the AMTHIF client, we came to conclusion that the multiplexing is not really utilized by any application and we may safely remove that support and significantly simplify the driver.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
962ff7bc |
| 27-Jan-2017 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: replace callback structures used as list head by list_head
mei_dev structure used struct mei_cl_cb type variables as for holding callbacks list heads. Replace them by the actual struct list_he
mei: replace callback structures used as list head by list_head
mei_dev structure used struct mei_cl_cb type variables as for holding callbacks list heads. Replace them by the actual struct list_head as there is no other info that is handled. This slims down the mei_dev structure and mostly streamline the code.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
17ba8a08 |
| 11-Nov-2016 |
Tomas Winkler <tomas.winkler@intel.com> |
mei: consolidate repeating code in mei_cl_irq_read_msg
A cb is always placed on the completion queue during discarding queue. Hence this can be performed upon discard.
Signed-off-by: Tomas Winkler
mei: consolidate repeating code in mei_cl_irq_read_msg
A cb is always placed on the completion queue during discarding queue. Hence this can be performed upon discard.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
1892fc2e |
| 25-Sep-2016 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: stop the stall timer worker if not needed
The stall timer worker checks periodically if there is a stalled i/o transaction. The issue with the current implementation is that the timer is tickin
mei: stop the stall timer worker if not needed
The stall timer worker checks periodically if there is a stalled i/o transaction. The issue with the current implementation is that the timer is ticking also when there is no pending i/o transaction. This patch provides a simple change that prevents rescheduling of the delayed work when there is no pending i/o.
Cc: Andy Lutomirski <luto@kernel.org> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
ff1586a7 |
| 25-Jul-2016 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: enqueue consecutive reads
The FW supports only one pending read per host client, in order to support issuing of consecutive reads the driver queues read requests internally and send them to t
mei: enqueue consecutive reads
The FW supports only one pending read per host client, in order to support issuing of consecutive reads the driver queues read requests internally and send them to the firmware after pending one has completed.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
dfe5f753 |
| 25-Jul-2016 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: drop redundant krealloc and checks in irq read
The read callback is always prepared with MTU-sized buffer and the FW can't send more than the MTU in one message. Checking for buffer existence a
mei: drop redundant krealloc and checks in irq read
The read callback is always prepared with MTU-sized buffer and the FW can't send more than the MTU in one message. Checking for buffer existence and krealloc to increase receive buffer size are redundant and may be safely discarded.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
a808c80c |
| 16-Jun-2016 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: add read callback on demand for fixed_address clients
The Fixed address clients do not work with the flow control, and the packet RX callback was allocated upon TX with anticipation of a follow
mei: add read callback on demand for fixed_address clients
The Fixed address clients do not work with the flow control, and the packet RX callback was allocated upon TX with anticipation of a following RX. This won't work if the clients with unsolicited Rx. Rather than preparing read callback upon a write we allocate one directly on the reciev path if one doesn't exists.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
97d549b4 |
| 16-Jun-2016 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: add file pointer to the host client structure
Store the file associated with a client in the host client structure, this enables dropping the special amthif client file pointer from struct mei_
mei: add file pointer to the host client structure
Store the file associated with a client in the host client structure, this enables dropping the special amthif client file pointer from struct mei_device, and this is also a preparation for changing the way rx packet allocation for fixed_address clients
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
a03c608f |
| 16-Jun-2016 |
Alexander Usyskin <alexander.usyskin@intel.com> |
mei: move read cb to complete queue if not connected
Move read cb to the completion queue if a read finds out that client is not connected. This expedite user space reader wake on error condition.
mei: move read cb to complete queue if not connected
Move read cb to the completion queue if a read finds out that client is not connected. This expedite user space reader wake on error condition.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|