// SPDX-License-Identifier: GPL-2.0-or-later /* * Driver for the NXP SAA7164 PCIe bridge * * Copyright (c) 2010-2015 Steven Toth <[email protected]> */ #include "saa7164.h" /* The message bus to/from the firmware is a ring buffer in PCI address * space. Establish the defaults. */ int saa7164_bus_setup(struct saa7164_dev *dev) { … } void saa7164_bus_dump(struct saa7164_dev *dev) { … } /* Intensionally throw a BUG() if the state of the message bus looks corrupt */ static void saa7164_bus_verify(struct saa7164_dev *dev) { … } static void saa7164_bus_dumpmsg(struct saa7164_dev *dev, struct tmComResInfo *m, void *buf) { … } /* * Places a command or a response on the bus. The implementation does not * know if it is a command or a response it just places the data on the * bus depending on the bus information given in the struct tmComResBusInfo * structure. If the command or response does not fit into the bus ring * buffer it will be refused. * * Return Value: * SAA_OK The function executed successfully. * < 0 One or more members are not initialized. */ int saa7164_bus_set(struct saa7164_dev *dev, struct tmComResInfo* msg, void *buf) { … } /* * Receive a command or a response from the bus. The implementation does not * know if it is a command or a response it simply dequeues the data, * depending on the bus information given in the struct tmComResBusInfo * structure. * * Return Value: * 0 The function executed successfully. * < 0 One or more members are not initialized. */ int saa7164_bus_get(struct saa7164_dev *dev, struct tmComResInfo* msg, void *buf, int peekonly) { … }