Hi all,

On 1/8/20 10:55 AM, David Marchand wrote:
On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yi...@intel.com> wrote:
On 1/8/2020 8:56 AM, David Marchand wrote:
Hello Laurent,

Bonne année.

Cc: maintainers.

On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.ha...@6wind.com> wrote:
In current led control API we have no way to know if a device is able
to handle on/off requests coming from the application.
Knowing if the device is led control capable could be useful to avoid
exchanges between application and kernel.
Using the on/off requests to flag if the device is led control capable
(based on the ENOSUP returned error) is not convenient as such request
can change the led state on device.

This patch adds a new function rte_eth_led_ctrl_capable() that will look
for led_off/on dev ops availability on the related pmd, to know if the
device is able to handle such led control requests (on/off).
This patch breaks the ABI, which is BAD :-).
Why it is an ABI break, dev_ops should be between library and drivers, so it
should be out of the ABI concern, isn't it.
You are right.
So in our context, this is not an ABI breakage.
But abidiff still reports it, so maybe some filtering is required to
avoid this false positive.

Note that if we insert an ops before rx_queue_count, we would have a
real ABI breakage, as this ops is accessed via an inline wrapper by
applications.


This new api only needs to look at the existing ops, so you can remove
the (unused in your patch) dev_led_ctrl_capable ops.

OTOH, would it make sense to expose this capability in dev_flags?

'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
supported, can that help application to understand?
You might want to know it is supported without changing the state.
Laurent?

First, happy new year :)

Yes exactly, the purpose of this patch is to query if the device is led control capable or not without changing the led state.

About exposing the capability through a dev_flags, means to make some modification in each pmds. It looks more easy in term of pmds maintenance to relying on the rte_eth_led_off()/on() dev ops availability at rte_ethdev level, right ?



--
David Marchand


Reply via email to