Lines Matching refs:qevent_block

1914 mlxsw_sp_qevent_binding_configure(struct mlxsw_sp_qevent_block *qevent_block,  in mlxsw_sp_qevent_binding_configure()  argument
1921 list_for_each_entry(mall_entry, &qevent_block->mall_entry_list, list) { in mlxsw_sp_qevent_binding_configure()
1922 err = mlxsw_sp_qevent_entry_configure(qevent_block->mlxsw_sp, mall_entry, in mlxsw_sp_qevent_binding_configure()
1931 list_for_each_entry_continue_reverse(mall_entry, &qevent_block->mall_entry_list, list) in mlxsw_sp_qevent_binding_configure()
1932 mlxsw_sp_qevent_entry_deconfigure(qevent_block->mlxsw_sp, mall_entry, in mlxsw_sp_qevent_binding_configure()
1937 static void mlxsw_sp_qevent_binding_deconfigure(struct mlxsw_sp_qevent_block *qevent_block, in mlxsw_sp_qevent_binding_deconfigure() argument
1942 list_for_each_entry(mall_entry, &qevent_block->mall_entry_list, list) in mlxsw_sp_qevent_binding_deconfigure()
1943 mlxsw_sp_qevent_entry_deconfigure(qevent_block->mlxsw_sp, mall_entry, in mlxsw_sp_qevent_binding_deconfigure()
1948 mlxsw_sp_qevent_block_configure(struct mlxsw_sp_qevent_block *qevent_block, in mlxsw_sp_qevent_block_configure() argument
1954 list_for_each_entry(qevent_binding, &qevent_block->binding_list, list) { in mlxsw_sp_qevent_block_configure()
1955 err = mlxsw_sp_qevent_binding_configure(qevent_block, in mlxsw_sp_qevent_block_configure()
1965 list_for_each_entry_continue_reverse(qevent_binding, &qevent_block->binding_list, list) in mlxsw_sp_qevent_block_configure()
1966 mlxsw_sp_qevent_binding_deconfigure(qevent_block, qevent_binding); in mlxsw_sp_qevent_block_configure()
1970 static void mlxsw_sp_qevent_block_deconfigure(struct mlxsw_sp_qevent_block *qevent_block) in mlxsw_sp_qevent_block_deconfigure() argument
1974 list_for_each_entry(qevent_binding, &qevent_block->binding_list, list) in mlxsw_sp_qevent_block_deconfigure()
1975 mlxsw_sp_qevent_binding_deconfigure(qevent_block, qevent_binding); in mlxsw_sp_qevent_block_deconfigure()
1991 struct mlxsw_sp_qevent_block *qevent_block, in mlxsw_sp_qevent_mall_replace() argument
2001 if (!list_empty(&qevent_block->mall_entry_list)) { in mlxsw_sp_qevent_mall_replace()
2040 list_add_tail(&mall_entry->list, &qevent_block->mall_entry_list); in mlxsw_sp_qevent_mall_replace()
2042 err = mlxsw_sp_qevent_block_configure(qevent_block, f->common.extack); in mlxsw_sp_qevent_mall_replace()
2055 static void mlxsw_sp_qevent_mall_destroy(struct mlxsw_sp_qevent_block *qevent_block, in mlxsw_sp_qevent_mall_destroy() argument
2060 mall_entry = mlxsw_sp_qevent_mall_entry_find(qevent_block, f->cookie); in mlxsw_sp_qevent_mall_destroy()
2064 mlxsw_sp_qevent_block_deconfigure(qevent_block); in mlxsw_sp_qevent_mall_destroy()
2070 static int mlxsw_sp_qevent_block_mall_cb(struct mlxsw_sp_qevent_block *qevent_block, in mlxsw_sp_qevent_block_mall_cb() argument
2073 struct mlxsw_sp *mlxsw_sp = qevent_block->mlxsw_sp; in mlxsw_sp_qevent_block_mall_cb()
2077 return mlxsw_sp_qevent_mall_replace(mlxsw_sp, qevent_block, f); in mlxsw_sp_qevent_block_mall_cb()
2079 mlxsw_sp_qevent_mall_destroy(qevent_block, f); in mlxsw_sp_qevent_block_mall_cb()
2088 struct mlxsw_sp_qevent_block *qevent_block = cb_priv; in mlxsw_sp_qevent_block_cb() local
2092 return mlxsw_sp_qevent_block_mall_cb(qevent_block, type_data); in mlxsw_sp_qevent_block_cb()
2101 struct mlxsw_sp_qevent_block *qevent_block; in mlxsw_sp_qevent_block_create() local
2103 qevent_block = kzalloc(sizeof(*qevent_block), GFP_KERNEL); in mlxsw_sp_qevent_block_create()
2104 if (!qevent_block) in mlxsw_sp_qevent_block_create()
2107 INIT_LIST_HEAD(&qevent_block->binding_list); in mlxsw_sp_qevent_block_create()
2108 INIT_LIST_HEAD(&qevent_block->mall_entry_list); in mlxsw_sp_qevent_block_create()
2109 qevent_block->mlxsw_sp = mlxsw_sp; in mlxsw_sp_qevent_block_create()
2110 return qevent_block; in mlxsw_sp_qevent_block_create()
2114 mlxsw_sp_qevent_block_destroy(struct mlxsw_sp_qevent_block *qevent_block) in mlxsw_sp_qevent_block_destroy() argument
2116 WARN_ON(!list_empty(&qevent_block->binding_list)); in mlxsw_sp_qevent_block_destroy()
2117 WARN_ON(!list_empty(&qevent_block->mall_entry_list)); in mlxsw_sp_qevent_block_destroy()
2118 kfree(qevent_block); in mlxsw_sp_qevent_block_destroy()
2123 struct mlxsw_sp_qevent_block *qevent_block = cb_priv; in mlxsw_sp_qevent_block_release() local
2125 mlxsw_sp_qevent_block_destroy(qevent_block); in mlxsw_sp_qevent_block_release()
2177 struct mlxsw_sp_qevent_block *qevent_block; in mlxsw_sp_setup_tc_block_qevent_bind() local
2186 qevent_block = mlxsw_sp_qevent_block_create(mlxsw_sp, f->net); in mlxsw_sp_setup_tc_block_qevent_bind()
2187 if (!qevent_block) in mlxsw_sp_setup_tc_block_qevent_bind()
2189 block_cb = flow_block_cb_alloc(mlxsw_sp_qevent_block_cb, mlxsw_sp, qevent_block, in mlxsw_sp_setup_tc_block_qevent_bind()
2192 mlxsw_sp_qevent_block_destroy(qevent_block); in mlxsw_sp_setup_tc_block_qevent_bind()
2197 qevent_block = flow_block_cb_priv(block_cb); in mlxsw_sp_setup_tc_block_qevent_bind()
2208 if (WARN_ON(mlxsw_sp_qevent_binding_lookup(qevent_block, mlxsw_sp_port, f->sch->handle, in mlxsw_sp_setup_tc_block_qevent_bind()
2225 err = mlxsw_sp_qevent_binding_configure(qevent_block, qevent_binding, in mlxsw_sp_setup_tc_block_qevent_bind()
2230 list_add(&qevent_binding->list, &qevent_block->binding_list); in mlxsw_sp_setup_tc_block_qevent_bind()
2255 struct mlxsw_sp_qevent_block *qevent_block; in mlxsw_sp_setup_tc_block_qevent_unbind() local
2261 qevent_block = flow_block_cb_priv(block_cb); in mlxsw_sp_setup_tc_block_qevent_unbind()
2263 qevent_binding = mlxsw_sp_qevent_binding_lookup(qevent_block, mlxsw_sp_port, f->sch->handle, in mlxsw_sp_setup_tc_block_qevent_unbind()
2269 mlxsw_sp_qevent_binding_deconfigure(qevent_block, qevent_binding); in mlxsw_sp_setup_tc_block_qevent_unbind()