STRUCT MOST_INTERFACE(9)
π struct most_interface(9) β Kernel API Manual, but make it make sense π
okay bestie, this is the struct most_interface(9) page from the Kernel API Manual, and itβs giving βinterface instance descriptionβ with main-character energy β¨ Letβs get into it.
π NAME π
struct most_interface β Interface instance description. Literally thatβs the name, no cap π«Ά
β¨ SYNOPSIS β¨
struct most_interface {
struct device *dev;
struct device *driver_dev;
struct module *mod;
enum most_interface_type interface;
const char *description;
unsigned int num_channels;
struct most_channel_capability *channel_vector;
void *(*dma_alloc)(struct mbo *mbo, u32 size);
void (*dma_free)(struct mbo *mbo, u32 size);
int (*configure)(struct most_interface *iface, int channel_idx,
struct most_channel_config *channel_config);
int (*enqueue)(struct most_interface *iface, int channel_idx, struct
mbo *mbo);
int (*poison_channel)(struct most_interface *iface, int
channel_idx);
void (*request_netinfo)(struct most_interface *iface, int
channel_idx, void (*on_netinfo)(struct most_interface *iface, unsigned
char link_stat, unsigned char *mac_addr));
void *priv;
struct interface_private *p;
};
π«Ά Members π«Ά
devβ the actual device β¨driver_devβstruct devicefor callingsnd_card_newmodβ moduleinterfaceβ Interface type.ost_interface_type.descriptionβPRELIMINARY. Unique description of the device instance from point of view of the interface in free text form (ASCII). It may be a hexadecimal presentation of the memory address for the MediaLB IP or USB device ID with USB properties for USB interface, etc.num_channelsβ Number of channels and size of thechannel_vector.channel_vectorβ Properties of the channels. Array index represents channel ID by the driver.dma_allocβ Callback to interface driver to allocation DMA memory. (yes, thatβs the exact wording, bestie π«Ά)dma_freeβ Callback to interface driver to free a DMA memory allocation.configureβ Callback to change data type for the channel of the interface instance. May be zero if the instance of the interface is not configurable. Parameterchannel_configdescribes direction and data type for the channel, configured by the higher level. The content of (and then the sentence justβ¦ ends π iconic in a tragic way)enqueueβ Delivers MBO to the HDM for processing. After HDM completes Rx- or Tx- operation the processed MBO shall be returned back to the MostCore using completion routine. The reason to get the MBO delivered from the MostCore after the channel is poisoned is the re-opening of the channel by the application. In this case the HDM shall hold MBOs and service the channel as usual. The HDM must be able to hold at least one MBO for each channel. The callback returns a negative value on error, otherwise 0.poison_channelβ Informs HDM about closing the channel. The HDM shall cancel all transfers and synchronously or asynchronously return all enqueued for this channel MBOs using the completion routine. The callback returns a negative value on error, otherwise 0.request_netinfoβ triggers retrieving of network info from the HDM by means of "Message exchange over MDP/MEP" The call of the functionrequest_netinfowith the parameteron_netinfoasNULLprohibits use of the previously obtained function pointer.privβ Private field used by mostcore to store context information.pβstruct interface_privatepointer
π Description π
Describes an interface of a MOST device the core driver is bound to. This structure is allocated and initialized in the HDM. MostCore may not modify this structure. So hands off, bestie β thatβs the rule π
π¦ SEE ALSO π¦
Kernel file ./include/linux/most.h plus these cross-reference besties:
enum most_interface_type(9)enum most_channel_direction(9)enum most_channel_data_type(9)struct most_channel_capability(9)struct most_channel_config(9)struct most_component(9)most_register_interface(9)most_deregister_interface(9)most_stop_enqueue(9)most_resume_enqueue(9)
source ./include/linux β’ date October 2026 β’ page struct most_interface(9) β thatβs the footer, bestie, mwah πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms