// SPDX-License-Identifier: GPL-2.0+ /* * bdc_cmd.c - BRCM BDC USB3.0 device controller * * Copyright (C) 2014 Broadcom Corporation * * Author: Ashwini Pahuja */ #include <linux/scatterlist.h> #include <linux/slab.h> #include "bdc.h" #include "bdc_cmd.h" #include "bdc_dbg.h" /* Issues a cmd to cmd processor and waits for cmd completion */ static int bdc_issue_cmd(struct bdc *bdc, u32 cmd_sc, u32 param0, u32 param1, u32 param2) { … } /* Submits cmd and analyze the return value of bdc_issue_cmd */ static int bdc_submit_cmd(struct bdc *bdc, u32 cmd_sc, u32 param0, u32 param1, u32 param2) { … } /* Deconfigure the endpoint from HW */ int bdc_dconfig_ep(struct bdc *bdc, struct bdc_ep *ep) { … } /* Reinitalize the bdlist after config ep command */ static void ep_bd_list_reinit(struct bdc_ep *ep) { … } /* Configure an endpoint */ int bdc_config_ep(struct bdc *bdc, struct bdc_ep *ep) { … } /* * Change the HW deq pointer, if this command is successful, HW will start * fetching the next bd from address dma_addr. */ int bdc_ep_bla(struct bdc *bdc, struct bdc_ep *ep, dma_addr_t dma_addr) { … } /* Set the address sent bu Host in SET_ADD request */ int bdc_address_device(struct bdc *bdc, u32 add) { … } /* Send a Function Wake notification packet using FH command */ int bdc_function_wake_fh(struct bdc *bdc, u8 intf) { … } /* Send a Function Wake notification packet using DNC command */ int bdc_function_wake(struct bdc *bdc, u8 intf) { … } /* Stall the endpoint */ int bdc_ep_set_stall(struct bdc *bdc, int epnum) { … } /* resets the endpoint, called when host sends CLEAR_FEATURE(HALT) */ int bdc_ep_clear_stall(struct bdc *bdc, int epnum) { … } /* Stop the endpoint, called when software wants to dequeue some request */ int bdc_stop_ep(struct bdc *bdc, int epnum) { … }