mirror of
https://github.com/torvalds/linux.git
synced 2026-05-02 13:32:40 -04:00
qed: Use dmae to write to widebus registers in fw_funcs
There are several wide-bus registers written to by the fw_funcs that require using the dmae for atomicity. Therefore using the dmae channel functionality was added to the fw_funcs file, since the code is very similar to the previously used code, the structures used were moved to qed_hsi. Due to FW conventions, the names of the flags in the struct changed. Since this required slight modification in the places that set the flags the code was modified to use GET/SET FIELD macros. Signed-off-by: Ariel Elior <ariel.elior@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
63ddca3052
commit
804c5702fc
@@ -230,30 +230,6 @@ enum qed_dmae_address_type_t {
|
||||
QED_DMAE_ADDRESS_GRC
|
||||
};
|
||||
|
||||
/* value of flags If QED_DMAE_FLAG_RW_REPL_SRC flag is set and the
|
||||
* source is a block of length DMAE_MAX_RW_SIZE and the
|
||||
* destination is larger, the source block will be duplicated as
|
||||
* many times as required to fill the destination block. This is
|
||||
* used mostly to write a zeroed buffer to destination address
|
||||
* using DMA
|
||||
*/
|
||||
#define QED_DMAE_FLAG_RW_REPL_SRC 0x00000001
|
||||
#define QED_DMAE_FLAG_VF_SRC 0x00000002
|
||||
#define QED_DMAE_FLAG_VF_DST 0x00000004
|
||||
#define QED_DMAE_FLAG_COMPLETION_DST 0x00000008
|
||||
#define QED_DMAE_FLAG_PORT 0x00000010
|
||||
#define QED_DMAE_FLAG_PF_SRC 0x00000020
|
||||
#define QED_DMAE_FLAG_PF_DST 0x00000040
|
||||
|
||||
struct qed_dmae_params {
|
||||
u32 flags; /* consists of QED_DMAE_FLAG_* values */
|
||||
u8 src_vfid;
|
||||
u8 dst_vfid;
|
||||
u8 port_id;
|
||||
u8 src_pfid;
|
||||
u8 dst_pfid;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief qed_dmae_host2grc - copy data from source addr to
|
||||
* dmae registers using the given ptt
|
||||
|
||||
Reference in New Issue
Block a user