Commit c678a975 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller
Browse files

nfp: add basic errors messages to target logic



Add error prints to CPP target encoding/decoding logic, otherwise
it's quite hard to pin point the reasons why read or write
operations fail.

Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: default avatarFrancois H. Theron <francois.theron@netronome.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 73eaf3b7
Loading
Loading
Loading
Loading
+10 −2
Original line number Original line Diff line number Diff line
@@ -39,7 +39,11 @@
 *          Francois H. Theron <francois.theron@netronome.com>
 *          Francois H. Theron <francois.theron@netronome.com>
 */
 */


#define pr_fmt(fmt)       "NFP target: " fmt

#include <linux/bitops.h>
#include <linux/bitops.h>
#include <linux/kernel.h>
#include <linux/printk.h>


#include "nfp_cpp.h"
#include "nfp_cpp.h"


@@ -733,8 +737,10 @@ int nfp_target_cpp(u32 cpp_island_id, u64 cpp_island_address,
	u32 imb;
	u32 imb;
	int err;
	int err;


	if (target < 0 || target >= 16)
	if (target < 0 || target >= 16) {
		pr_err("Invalid CPP target: %d\n", target);
		return -EINVAL;
		return -EINVAL;
	}


	if (island == 0) {
	if (island == 0) {
		/* Already translated */
		/* Already translated */
@@ -753,8 +759,10 @@ int nfp_target_cpp(u32 cpp_island_id, u64 cpp_island_address,
	err = nfp_cppat_addr_encode(cpp_target_address, island, target,
	err = nfp_cppat_addr_encode(cpp_target_address, island, target,
				    ((imb >> 13) & 7), ((imb >> 12) & 1),
				    ((imb >> 13) & 7), ((imb >> 12) & 1),
				    ((imb >> 6)  & 0x3f), ((imb >> 0)  & 0x3f));
				    ((imb >> 6)  & 0x3f), ((imb >> 0)  & 0x3f));
	if (err)
	if (err) {
		pr_err("Can't encode CPP address: %d\n", err);
		return err;
		return err;
	}


	*cpp_target_id = NFP_CPP_ID(target,
	*cpp_target_id = NFP_CPP_ID(target,
				    NFP_CPP_ID_ACTION_of(cpp_island_id),
				    NFP_CPP_ID_ACTION_of(cpp_island_id),