On 01/09/2023 11:06 AM, Mark Brown wrote:
I just don't know what other logic I can put in the driver to select interrupt or polling mode. Only the end user know if performance or cpu usage is more important to their application.On Fri, Jan 06, 2023 at 07:35:59PM -0800, William Zhang wrote:On 01/06/2023 01:47 PM, Mark Brown wrote:On Fri, Jan 06, 2023 at 12:07:59PM -0800, William Zhang wrote:When interrupt is not defined in the HSSPI dts node, driver switches to polling mode for controller SPI message processing. Also add driver banner message when the driver is loaded successfully.This should not be something the user selects via the DT, if the polling mode is better then the driver should just use it regardless of there being an interrupt wired up. Generally there's some point at which the benefits of polling become minimal (and the costs more impactful) but if the DMA setup is as bad as it sounds then the driver should just ignore the interrupt.I agree but this is more for backward compatibility as the original driver uses interrupt to work with MIPS based SoC and I do not want to change that behavior. For newer devices I added, they work in polling mode by default with the dts I supplied. IMHO it is also good to have this fallback option to use interrupt in case user is sensitive to cpu usage.You can put whatever logic is needed in the code - for something like this an architecture based define isn't ideal but is probably good enough if need be (though I'd not be surprised if it turned out that there was also some performance benefit for the MIPS systems too, at least for smaller transfers).
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature