[PATCH 1/2] bus: mvebu-mbus: Provide stub function for mvebu_mbus_get_io_win_info()

Stefan Roese sr at denx.de
Mon Aug 29 10:40:26 PDT 2016


Hi Gregory,

On 29.08.2016 16:02, Gregory CLEMENT wrote:
>  On lun., août 29 2016, Andrew Lunn <andrew at lunn.ch> wrote:
>
>> On Mon, Aug 29, 2016 at 01:04:55PM +0200, Stefan Roese wrote:
>>> This patch provides a stub function for mvebu_mbus_get_io_win_info(),
>>> which will be used for all non-Orion (ARM32 MVEBU) platforms for
>>> compile test coverage.
>>>
>>> Signed-off-by: Stefan Roese <sr at denx.de>
>>> Cc: Gregory CLEMENT <gregory.clement at free-electrons.com>
>>> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>>> Cc: Marcin Wojtas <mw at semihalf.com>
>>> Cc: Arnd Bergmann <arnd at arndb.de>
>>> Cc: Vinod Koul <vinod.koul at intel.com>
>>> ---
>>>  include/linux/mbus.h | 9 +++++++--
>>>  1 file changed, 7 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/include/linux/mbus.h b/include/linux/mbus.h
>>> index d610232..a884405 100644
>>> --- a/include/linux/mbus.h
>>> +++ b/include/linux/mbus.h
>>> @@ -55,6 +55,8 @@ struct mbus_dram_target_info
>>>  #ifdef CONFIG_PLAT_ORION
>>>  extern const struct mbus_dram_target_info *mv_mbus_dram_info(void);
>>>  extern const struct mbus_dram_target_info *mv_mbus_dram_info_nooverlap(void);
>>> +int mvebu_mbus_get_io_win_info(phys_addr_t phyaddr, u32 *size, u8 *target,
>>> +			       u8 *attr);
>>>  #else
>>>  static inline const struct mbus_dram_target_info *mv_mbus_dram_info(void)
>>>  {
>>> @@ -64,14 +66,17 @@ static inline const struct mbus_dram_target_info *mv_mbus_dram_info_nooverlap(vo
>>>  {
>>>  	return NULL;
>>>  }
>>> +static inline int mvebu_mbus_get_io_win_info(phys_addr_t phyaddr, u32 *size,
>>> +					     u8 *target, u8 *attr)
>>> +{
>>> +	return 0;
>>> +}
>>>  #endif
>>
>> Hi Stefan
>>
>> If i understand it correctly, this should never be used for real, it
>> is here only for compile testing?
>>
>> Maybe add a WARN_ON_ONCE(1) here? And a comment, why it should never
>> happen.
>
> Actually arm64 mvebu SoC such as the Armada 3700 do not have mbus bus
> but can still reuse the same driver than the other mvebu SoC. So in
> this case I would prefer that the function return an error.

I missed thinking about Armada 3700 while adding this IO (PCIe) support
to the XOR DMA driver. Most likely because the Armada 3700 support was
added after I started working on this IO (non SDRAM) DMA support for
Armada XP.

Its probably not possible to support these IO (PCIe) areas on Armada
3700 this way without any information from the MBus mapping as
possible for the other ARM32 SoCs. So its perhaps best if I just
disable this "feature" for Armada 3700 for now.

What do you think?

Thanks,
Stefan



More information about the linux-arm-kernel mailing list