Re: [PATCH 4/4] powerpc/powernv: remove the unused vas_win_paste_addr and vas_win_id functions

From: Oliver O'Halloran
Date: Thu Jun 20 2019 - 21:40:51 EST


On Thu, May 23, 2019 at 5:56 PM Christoph Hellwig <hch@xxxxxx> wrote:
>
> These two function have never been used since they were added to the
> kernel.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> ---
> arch/powerpc/include/asm/vas.h | 10 ----------
> arch/powerpc/platforms/powernv/vas-window.c | 19 -------------------
> arch/powerpc/platforms/powernv/vas.h | 20 --------------------
> 3 files changed, 49 deletions(-)

Sukadev (+cc), what's the reason this is not being used?

IIRC the VAS hardware on P9 had some issues, but I don't know any of
the details.

> diff --git a/arch/powerpc/include/asm/vas.h b/arch/powerpc/include/asm/vas.h
> index 771456227496..9b5b7261df7b 100644
> --- a/arch/powerpc/include/asm/vas.h
> +++ b/arch/powerpc/include/asm/vas.h
> @@ -167,14 +167,4 @@ int vas_copy_crb(void *crb, int offset);
> */
> int vas_paste_crb(struct vas_window *win, int offset, bool re);
>
> -/*
> - * Return a system-wide unique id for the VAS window @win.
> - */
> -extern u32 vas_win_id(struct vas_window *win);
> -
> -/*
> - * Return the power bus paste address associated with @win so the caller
> - * can map that address into their address space.
> - */
> -extern u64 vas_win_paste_addr(struct vas_window *win);
> #endif /* __ASM_POWERPC_VAS_H */
> diff --git a/arch/powerpc/platforms/powernv/vas-window.c b/arch/powerpc/platforms/powernv/vas-window.c
> index e59e0e60e5b5..e48c44cb3a16 100644
> --- a/arch/powerpc/platforms/powernv/vas-window.c
> +++ b/arch/powerpc/platforms/powernv/vas-window.c
> @@ -44,16 +44,6 @@ static void compute_paste_address(struct vas_window *window, u64 *addr, int *len
> pr_debug("Txwin #%d: Paste addr 0x%llx\n", winid, *addr);
> }
>
> -u64 vas_win_paste_addr(struct vas_window *win)
> -{
> - u64 addr;
> -
> - compute_paste_address(win, &addr, NULL);
> -
> - return addr;
> -}
> -EXPORT_SYMBOL(vas_win_paste_addr);
> -
> static inline void get_hvwc_mmio_bar(struct vas_window *window,
> u64 *start, int *len)
> {
> @@ -1268,12 +1258,3 @@ int vas_win_close(struct vas_window *window)
> return 0;
> }
> EXPORT_SYMBOL_GPL(vas_win_close);
> -
> -/*
> - * Return a system-wide unique window id for the window @win.
> - */
> -u32 vas_win_id(struct vas_window *win)
> -{
> - return encode_pswid(win->vinst->vas_id, win->winid);
> -}
> -EXPORT_SYMBOL_GPL(vas_win_id);
> diff --git a/arch/powerpc/platforms/powernv/vas.h b/arch/powerpc/platforms/powernv/vas.h
> index f5493dbdd7ff..551affaddd59 100644
> --- a/arch/powerpc/platforms/powernv/vas.h
> +++ b/arch/powerpc/platforms/powernv/vas.h
> @@ -448,26 +448,6 @@ static inline u64 read_hvwc_reg(struct vas_window *win,
> return in_be64(win->hvwc_map+reg);
> }
>
> -/*
> - * Encode/decode the Partition Send Window ID (PSWID) for a window in
> - * a way that we can uniquely identify any window in the system. i.e.
> - * we should be able to locate the 'struct vas_window' given the PSWID.
> - *
> - * Bits Usage
> - * 0:7 VAS id (8 bits)
> - * 8:15 Unused, 0 (3 bits)
> - * 16:31 Window id (16 bits)
> - */
> -static inline u32 encode_pswid(int vasid, int winid)
> -{
> - u32 pswid = 0;
> -
> - pswid |= vasid << (31 - 7);
> - pswid |= winid;
> -
> - return pswid;
> -}
> -
> static inline void decode_pswid(u32 pswid, int *vasid, int *winid)
> {
> if (vasid)
> --
> 2.20.1
>