Merge branch 'qed-deadcoding'

Dr. David Alan Gilbert says:

====================
qed deadcoding

  This is a set of deadcode removals for the qed ethernet
device.  I've tried to avoid removing anything that
are trivial firmware wrappers.

  One odd one I've not removed is qed_bw_update(),
it doesn't seem to be called but looks like the only
caller of the bw_update(..) method which qedf does
define.  Perhaps qed_bw_update is supposed to be called
somewhere?
====================

Link: https://patch.msgid.link/20250414005247.341243-1-linux@treblig.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski 2025-04-15 08:26:31 -07:00
commit 0418711f60
8 changed files with 0 additions and 286 deletions

View File

@ -939,7 +939,6 @@ u16 qed_get_cm_pq_idx_ofld_mtc(struct qed_hwfn *p_hwfn, u8 tc);
u16 qed_get_cm_pq_idx_llt_mtc(struct qed_hwfn *p_hwfn, u8 tc);
/* doorbell recovery mechanism */
void qed_db_recovery_dp(struct qed_hwfn *p_hwfn);
void qed_db_recovery_execute(struct qed_hwfn *p_hwfn);
bool qed_edpm_enabled(struct qed_hwfn *p_hwfn);

View File

@ -1304,37 +1304,6 @@ enum dbg_status qed_print_mcp_trace_results(struct qed_hwfn *p_hwfn,
u32 num_dumped_dwords,
char *results_buf);
/**
* qed_print_mcp_trace_results_cont(): Prints MCP Trace results, and
* keeps the MCP trace meta data allocated, to support continuous MCP Trace
* parsing. After the continuous parsing ends, mcp_trace_free_meta_data should
* be called to free the meta data.
*
* @p_hwfn: HW device data.
* @dump_buf: MVP trace dump buffer, starting from the header.
* @results_buf: Buffer for printing the mcp trace results.
*
* Return: Error if the parsing fails, ok otherwise.
*/
enum dbg_status qed_print_mcp_trace_results_cont(struct qed_hwfn *p_hwfn,
u32 *dump_buf,
char *results_buf);
/**
* qed_print_mcp_trace_line(): Prints MCP Trace results for a single line
*
* @p_hwfn: HW device data.
* @dump_buf: MCP trace dump buffer, starting from the header.
* @num_dumped_bytes: Number of bytes that were dumped.
* @results_buf: Buffer for printing the mcp trace results.
*
* Return: Error if the parsing fails, ok otherwise.
*/
enum dbg_status qed_print_mcp_trace_line(struct qed_hwfn *p_hwfn,
u8 *dump_buf,
u32 num_dumped_bytes,
char *results_buf);
/**
* qed_mcp_trace_free_meta_data(): Frees the MCP Trace meta data.
* Should be called after continuous MCP Trace parsing.

View File

@ -7614,31 +7614,6 @@ enum dbg_status qed_print_mcp_trace_results(struct qed_hwfn *p_hwfn,
results_buf, &parsed_buf_size, true);
}
enum dbg_status qed_print_mcp_trace_results_cont(struct qed_hwfn *p_hwfn,
u32 *dump_buf,
char *results_buf)
{
u32 parsed_buf_size;
return qed_parse_mcp_trace_dump(p_hwfn, dump_buf, results_buf,
&parsed_buf_size, false);
}
enum dbg_status qed_print_mcp_trace_line(struct qed_hwfn *p_hwfn,
u8 *dump_buf,
u32 num_dumped_bytes,
char *results_buf)
{
u32 parsed_results_bytes;
return qed_parse_mcp_trace_buf(p_hwfn,
dump_buf,
num_dumped_bytes,
0,
num_dumped_bytes,
results_buf, &parsed_results_bytes);
}
/* Frees the specified MCP Trace meta data */
void qed_mcp_trace_free_meta_data(struct qed_hwfn *p_hwfn)
{

View File

@ -255,25 +255,6 @@ static void qed_db_recovery_teardown(struct qed_hwfn *p_hwfn)
p_hwfn->db_recovery_info.db_recovery_counter = 0;
}
/* Print the content of the doorbell recovery mechanism */
void qed_db_recovery_dp(struct qed_hwfn *p_hwfn)
{
struct qed_db_recovery_entry *db_entry = NULL;
DP_NOTICE(p_hwfn,
"Displaying doorbell recovery database. Counter was %d\n",
p_hwfn->db_recovery_info.db_recovery_counter);
/* Protect the list */
spin_lock_bh(&p_hwfn->db_recovery_info.lock);
list_for_each_entry(db_entry,
&p_hwfn->db_recovery_info.list, list_entry) {
qed_db_recovery_dp_entry(p_hwfn, db_entry, "Printing");
}
spin_unlock_bh(&p_hwfn->db_recovery_info.lock);
}
/* Ring the doorbell of a single doorbell recovery entry */
static void qed_db_recovery_ring(struct qed_hwfn *p_hwfn,
struct qed_db_recovery_entry *db_entry)

View File

@ -2666,58 +2666,6 @@ void qed_gft_config(struct qed_hwfn *p_hwfn,
void qed_enable_context_validation(struct qed_hwfn *p_hwfn,
struct qed_ptt *p_ptt);
/**
* qed_calc_session_ctx_validation(): Calcualte validation byte for
* session context.
*
* @p_ctx_mem: Pointer to context memory.
* @ctx_size: Context size.
* @ctx_type: Context type.
* @cid: Context cid.
*
* Return: Void.
*/
void qed_calc_session_ctx_validation(void *p_ctx_mem,
u16 ctx_size, u8 ctx_type, u32 cid);
/**
* qed_calc_task_ctx_validation(): Calcualte validation byte for task
* context.
*
* @p_ctx_mem: Pointer to context memory.
* @ctx_size: Context size.
* @ctx_type: Context type.
* @tid: Context tid.
*
* Return: Void.
*/
void qed_calc_task_ctx_validation(void *p_ctx_mem,
u16 ctx_size, u8 ctx_type, u32 tid);
/**
* qed_memset_session_ctx(): Memset session context to 0 while
* preserving validation bytes.
*
* @p_ctx_mem: Pointer to context memory.
* @ctx_size: Size to initialzie.
* @ctx_type: Context type.
*
* Return: Void.
*/
void qed_memset_session_ctx(void *p_ctx_mem, u32 ctx_size, u8 ctx_type);
/**
* qed_memset_task_ctx(): Memset task context to 0 while preserving
* validation bytes.
*
* @p_ctx_mem: Pointer to context memory.
* @ctx_size: size to initialzie.
* @ctx_type: context type.
*
* Return: Void.
*/
void qed_memset_task_ctx(void *p_ctx_mem, u32 ctx_size, u8 ctx_type);
#define NUM_STORMS 6
/**

View File

@ -69,17 +69,6 @@ int qed_ptt_pool_alloc(struct qed_hwfn *p_hwfn)
return 0;
}
void qed_ptt_invalidate(struct qed_hwfn *p_hwfn)
{
struct qed_ptt *p_ptt;
int i;
for (i = 0; i < PXP_EXTERNAL_BAR_PF_WINDOW_NUM; i++) {
p_ptt = &p_hwfn->p_ptt_pool->ptts[i];
p_ptt->pxp.offset = QED_BAR_INVALID_OFFSET;
}
}
void qed_ptt_pool_free(struct qed_hwfn *p_hwfn)
{
kfree(p_hwfn->p_ptt_pool);

View File

@ -61,15 +61,6 @@ enum _dmae_cmd_crc_mask {
*/
void qed_gtt_init(struct qed_hwfn *p_hwfn);
/**
* qed_ptt_invalidate(): Forces all ptt entries to be re-configured
*
* @p_hwfn: HW device data.
*
* Return: Void.
*/
void qed_ptt_invalidate(struct qed_hwfn *p_hwfn);
/**
* qed_ptt_pool_alloc(): Allocate and initialize PTT pool.
*

View File

@ -18,16 +18,6 @@
#define CDU_VALIDATION_DEFAULT_CFG CDU_CONTEXT_VALIDATION_DEFAULT_CFG
static u16 con_region_offsets[3][NUM_OF_CONNECTION_TYPES] = {
{400, 336, 352, 368, 304, 384, 416, 352}, /* region 3 offsets */
{528, 496, 416, 512, 448, 512, 544, 480}, /* region 4 offsets */
{608, 544, 496, 576, 576, 592, 624, 560} /* region 5 offsets */
};
static u16 task_region_offsets[1][NUM_OF_CONNECTION_TYPES] = {
{240, 240, 112, 0, 0, 0, 0, 96} /* region 1 offsets */
};
/* General constants */
#define QM_PQ_MEM_4KB(pq_size) (pq_size ? DIV_ROUND_UP((pq_size + 1) * \
QM_PQ_ELEMENT_SIZE, \
@ -1576,134 +1566,6 @@ void qed_gft_config(struct qed_hwfn *p_hwfn,
qed_wr(p_hwfn, p_ptt, PRS_REG_SEARCH_GFT, 1);
}
DECLARE_CRC8_TABLE(cdu_crc8_table);
/* Calculate and return CDU validation byte per connection type/region/cid */
static u8 qed_calc_cdu_validation_byte(u8 conn_type, u8 region, u32 cid)
{
const u8 validation_cfg = CDU_VALIDATION_DEFAULT_CFG;
u8 crc, validation_byte = 0;
static u8 crc8_table_valid; /* automatically initialized to 0 */
u32 validation_string = 0;
__be32 data_to_crc;
if (!crc8_table_valid) {
crc8_populate_msb(cdu_crc8_table, 0x07);
crc8_table_valid = 1;
}
/* The CRC is calculated on the String-to-compress:
* [31:8] = {CID[31:20],CID[11:0]}
* [7:4] = Region
* [3:0] = Type
*/
if ((validation_cfg >> CDU_CONTEXT_VALIDATION_CFG_USE_CID) & 1)
validation_string |= (cid & 0xFFF00000) | ((cid & 0xFFF) << 8);
if ((validation_cfg >> CDU_CONTEXT_VALIDATION_CFG_USE_REGION) & 1)
validation_string |= ((region & 0xF) << 4);
if ((validation_cfg >> CDU_CONTEXT_VALIDATION_CFG_USE_TYPE) & 1)
validation_string |= (conn_type & 0xF);
/* Convert to big-endian and calculate CRC8 */
data_to_crc = cpu_to_be32(validation_string);
crc = crc8(cdu_crc8_table, (u8 *)&data_to_crc, sizeof(data_to_crc),
CRC8_INIT_VALUE);
/* The validation byte [7:0] is composed:
* for type A validation
* [7] = active configuration bit
* [6:0] = crc[6:0]
*
* for type B validation
* [7] = active configuration bit
* [6:3] = connection_type[3:0]
* [2:0] = crc[2:0]
*/
validation_byte |=
((validation_cfg >>
CDU_CONTEXT_VALIDATION_CFG_USE_ACTIVE) & 1) << 7;
if ((validation_cfg >>
CDU_CONTEXT_VALIDATION_CFG_VALIDATION_TYPE_SHIFT) & 1)
validation_byte |= ((conn_type & 0xF) << 3) | (crc & 0x7);
else
validation_byte |= crc & 0x7F;
return validation_byte;
}
/* Calcualte and set validation bytes for session context */
void qed_calc_session_ctx_validation(void *p_ctx_mem,
u16 ctx_size, u8 ctx_type, u32 cid)
{
u8 *x_val_ptr, *t_val_ptr, *u_val_ptr, *p_ctx;
p_ctx = (u8 * const)p_ctx_mem;
x_val_ptr = &p_ctx[con_region_offsets[0][ctx_type]];
t_val_ptr = &p_ctx[con_region_offsets[1][ctx_type]];
u_val_ptr = &p_ctx[con_region_offsets[2][ctx_type]];
memset(p_ctx, 0, ctx_size);
*x_val_ptr = qed_calc_cdu_validation_byte(ctx_type, 3, cid);
*t_val_ptr = qed_calc_cdu_validation_byte(ctx_type, 4, cid);
*u_val_ptr = qed_calc_cdu_validation_byte(ctx_type, 5, cid);
}
/* Calcualte and set validation bytes for task context */
void qed_calc_task_ctx_validation(void *p_ctx_mem,
u16 ctx_size, u8 ctx_type, u32 tid)
{
u8 *p_ctx, *region1_val_ptr;
p_ctx = (u8 * const)p_ctx_mem;
region1_val_ptr = &p_ctx[task_region_offsets[0][ctx_type]];
memset(p_ctx, 0, ctx_size);
*region1_val_ptr = qed_calc_cdu_validation_byte(ctx_type, 1, tid);
}
/* Memset session context to 0 while preserving validation bytes */
void qed_memset_session_ctx(void *p_ctx_mem, u32 ctx_size, u8 ctx_type)
{
u8 *x_val_ptr, *t_val_ptr, *u_val_ptr, *p_ctx;
u8 x_val, t_val, u_val;
p_ctx = (u8 * const)p_ctx_mem;
x_val_ptr = &p_ctx[con_region_offsets[0][ctx_type]];
t_val_ptr = &p_ctx[con_region_offsets[1][ctx_type]];
u_val_ptr = &p_ctx[con_region_offsets[2][ctx_type]];
x_val = *x_val_ptr;
t_val = *t_val_ptr;
u_val = *u_val_ptr;
memset(p_ctx, 0, ctx_size);
*x_val_ptr = x_val;
*t_val_ptr = t_val;
*u_val_ptr = u_val;
}
/* Memset task context to 0 while preserving validation bytes */
void qed_memset_task_ctx(void *p_ctx_mem, u32 ctx_size, u8 ctx_type)
{
u8 *p_ctx, *region1_val_ptr;
u8 region1_val;
p_ctx = (u8 * const)p_ctx_mem;
region1_val_ptr = &p_ctx[task_region_offsets[0][ctx_type]];
region1_val = *region1_val_ptr;
memset(p_ctx, 0, ctx_size);
*region1_val_ptr = region1_val;
}
/* Enable and configure context validation */
void qed_enable_context_validation(struct qed_hwfn *p_hwfn,
struct qed_ptt *p_ptt)