mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 07:02:23 +00:00
greybus: connection: add support for high-priority connections
Add connection flag to indicate that a connection has high priority. For the SVC and control connections this may be used by the host-device driver as a hint to allocate dedicated DMA channels or to use polling to avoid message congestion. We also allow drivers to set this flag on their connections, even though we currently have no use case for this (and the host-device driver is again free to ignore it). Note that this mechanism can be used to indicate also high-bandwidth connections (e.g. wanting larger buffers or dedicated endpoints), but that that should be done using a separate high-bandwidth flag rather than overloading the high-priority flag. Reviewed-by: Alex Elder <elder@linaro.org> Signed-off-by: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
1ba30c3309
commit
3094f94773
@ -232,14 +232,15 @@ gb_connection_create_static(struct gb_host_device *hd, u16 hd_cport_id,
|
|||||||
gb_request_handler_t handler)
|
gb_request_handler_t handler)
|
||||||
{
|
{
|
||||||
return _gb_connection_create(hd, hd_cport_id, NULL, NULL, 0, handler,
|
return _gb_connection_create(hd, hd_cport_id, NULL, NULL, 0, handler,
|
||||||
0);
|
GB_CONNECTION_FLAG_HIGH_PRIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct gb_connection *
|
struct gb_connection *
|
||||||
gb_connection_create_control(struct gb_interface *intf)
|
gb_connection_create_control(struct gb_interface *intf)
|
||||||
{
|
{
|
||||||
return _gb_connection_create(intf->hd, -1, intf, NULL, 0, NULL,
|
return _gb_connection_create(intf->hd, -1, intf, NULL, 0, NULL,
|
||||||
GB_CONNECTION_FLAG_CONTROL);
|
GB_CONNECTION_FLAG_CONTROL |
|
||||||
|
GB_CONNECTION_FLAG_HIGH_PRIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct gb_connection *
|
struct gb_connection *
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#define GB_CONNECTION_FLAG_OFFLOADED BIT(2)
|
#define GB_CONNECTION_FLAG_OFFLOADED BIT(2)
|
||||||
#define GB_CONNECTION_FLAG_CDSI1 BIT(3)
|
#define GB_CONNECTION_FLAG_CDSI1 BIT(3)
|
||||||
#define GB_CONNECTION_FLAG_CONTROL BIT(4)
|
#define GB_CONNECTION_FLAG_CONTROL BIT(4)
|
||||||
|
#define GB_CONNECTION_FLAG_HIGH_PRIO BIT(5)
|
||||||
|
|
||||||
#define GB_CONNECTION_FLAG_CORE_MASK GB_CONNECTION_FLAG_CONTROL
|
#define GB_CONNECTION_FLAG_CORE_MASK GB_CONNECTION_FLAG_CONTROL
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user