Re: [PATCH] MIPS: Octeon: Remove unused CIU types and macros.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Steven,

On Fri, Jun 29, 2018 at 03:37:09PM -0500, Steven J. Hill wrote:
> +static inline uint64_t CVMX_CIU_MBOX_CLRX(unsigned int coreid)
>  {
> -	switch (cvmx_get_octeon_family()) {
> -	case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
> -		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
> -	case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
> -	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
> -	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
> -		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
> -	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
> -	case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
> -		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
> -	case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
> -	case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
> -		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
> -	case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
> -		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
> -	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
> -		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
> -	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
> -		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
> -	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
> -		return CVMX_ADD_IO_SEG(0x0001070100100600ull) + (offset) * 8;
> -	}
> -	return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
> +	if (cvmx_get_octeon_family() == OCTEON_CN68XX)
> +		return CVMX_CIU_ADDR(0x100100600, coreid, 0xffff, 8);
> +	else
> +		return CVMX_CIU_ADDR(0x0680, coreid, 0xffff, 8);
>  }

Like I replied to the last revision, cvmx_get_octeon_family() returns a
value ANDed with OCTEON_FAMILY_MASK but the OCTEON_CN68XX macro & others
like it include bits outside of OCTEON_FAMILY_MASK. Therefore your
condition here can never evaluate true.

I've looked no further than this - the change is clearly broken &
clearly not well tested.

Thanks,
    Paul




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux