18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * SE/HMC Drive (Read) Cache Functions 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright IBM Corp. 2013 68c2ecf20Sopenharmony_ci * Author(s): Ralf Hoppe (rhoppe@de.ibm.com) 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#ifndef __HMCDRV_CACHE_H__ 108c2ecf20Sopenharmony_ci#define __HMCDRV_CACHE_H__ 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include <linux/mmzone.h> 138c2ecf20Sopenharmony_ci#include "hmcdrv_ftp.h" 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#define HMCDRV_CACHE_SIZE_DFLT (MAX_ORDER_NR_PAGES * PAGE_SIZE / 2UL) 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_citypedef ssize_t (*hmcdrv_cache_ftpfunc)(const struct hmcdrv_ftp_cmdspec *ftp, 188c2ecf20Sopenharmony_ci size_t *fsize); 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cissize_t hmcdrv_cache_cmd(const struct hmcdrv_ftp_cmdspec *ftp, 218c2ecf20Sopenharmony_ci hmcdrv_cache_ftpfunc func); 228c2ecf20Sopenharmony_ciint hmcdrv_cache_startup(size_t cachesize); 238c2ecf20Sopenharmony_civoid hmcdrv_cache_shutdown(void); 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci#endif /* __HMCDRV_CACHE_H__ */ 26