xref: /linux/drivers/s390/char/hmcdrv_cache.h (revision 8f933b1043e1e51f4776fc1ffe86752c7785fd4e)
1*8f933b10SRalf Hoppe /*
2*8f933b10SRalf Hoppe  *    SE/HMC Drive (Read) Cache Functions
3*8f933b10SRalf Hoppe  *
4*8f933b10SRalf Hoppe  *    Copyright IBM Corp. 2013
5*8f933b10SRalf Hoppe  *    Author(s): Ralf Hoppe (rhoppe@de.ibm.com)
6*8f933b10SRalf Hoppe  */
7*8f933b10SRalf Hoppe 
8*8f933b10SRalf Hoppe #ifndef __HMCDRV_CACHE_H__
9*8f933b10SRalf Hoppe #define __HMCDRV_CACHE_H__
10*8f933b10SRalf Hoppe 
11*8f933b10SRalf Hoppe #include <linux/mmzone.h>
12*8f933b10SRalf Hoppe #include "hmcdrv_ftp.h"
13*8f933b10SRalf Hoppe 
14*8f933b10SRalf Hoppe #define HMCDRV_CACHE_SIZE_DFLT	(MAX_ORDER_NR_PAGES * PAGE_SIZE / 2UL)
15*8f933b10SRalf Hoppe 
16*8f933b10SRalf Hoppe typedef ssize_t (*hmcdrv_cache_ftpfunc)(const struct hmcdrv_ftp_cmdspec *ftp,
17*8f933b10SRalf Hoppe 					size_t *fsize);
18*8f933b10SRalf Hoppe 
19*8f933b10SRalf Hoppe ssize_t hmcdrv_cache_cmd(const struct hmcdrv_ftp_cmdspec *ftp,
20*8f933b10SRalf Hoppe 			 hmcdrv_cache_ftpfunc func);
21*8f933b10SRalf Hoppe int hmcdrv_cache_startup(size_t cachesize);
22*8f933b10SRalf Hoppe void hmcdrv_cache_shutdown(void);
23*8f933b10SRalf Hoppe 
24*8f933b10SRalf Hoppe #endif	 /* __HMCDRV_CACHE_H__ */
25