Lines Matching refs:hmcdrv_cache_file

48 static struct hmcdrv_cache_entry hmcdrv_cache_file = {  variable
67 if ((ftp->id != hmcdrv_cache_file.id) || in hmcdrv_cache_get()
68 strcmp(hmcdrv_cache_file.fname, ftp->fname)) in hmcdrv_cache_get()
71 if (ftp->ofs >= hmcdrv_cache_file.fsize) /* EOF ? */ in hmcdrv_cache_get()
74 if ((hmcdrv_cache_file.ofs < 0) || /* has content? */ in hmcdrv_cache_get()
75 time_after(jiffies, hmcdrv_cache_file.timeout)) in hmcdrv_cache_get()
81 len = hmcdrv_cache_file.fsize - ftp->ofs; in hmcdrv_cache_get()
89 pos = ftp->ofs - hmcdrv_cache_file.ofs; in hmcdrv_cache_get()
92 ((pos + len) <= hmcdrv_cache_file.len)) { in hmcdrv_cache_get()
95 hmcdrv_cache_file.content + pos, in hmcdrv_cache_get()
98 hmcdrv_cache_file.fname, len, in hmcdrv_cache_get()
99 hmcdrv_cache_file.fsize); in hmcdrv_cache_get()
124 if ((ftp->len > 0) && (hmcdrv_cache_file.len >= ftp->len)) { in hmcdrv_cache_do()
131 cftp.buf = hmcdrv_cache_file.content; /* and update */ in hmcdrv_cache_do()
132 cftp.len = hmcdrv_cache_file.len; /* buffer data */ in hmcdrv_cache_do()
134 len = func(&cftp, &hmcdrv_cache_file.fsize); /* now do */ in hmcdrv_cache_do()
143 hmcdrv_cache_file.ofs = ftp->ofs; in hmcdrv_cache_do()
144 hmcdrv_cache_file.timeout = jiffies + in hmcdrv_cache_do()
146 memcpy(ftp->buf, hmcdrv_cache_file.content, len); in hmcdrv_cache_do()
149 len = func(ftp, &hmcdrv_cache_file.fsize); in hmcdrv_cache_do()
150 hmcdrv_cache_file.ofs = -1; /* invalidate content */ in hmcdrv_cache_do()
157 strscpy(hmcdrv_cache_file.fname, ftp->fname, in hmcdrv_cache_do()
159 hmcdrv_cache_file.id = ftp->id; in hmcdrv_cache_do()
161 ftp->id, hmcdrv_cache_file.fsize, ftp->fname); in hmcdrv_cache_do()
203 hmcdrv_cache_file.id = HMCDRV_FTP_NOOP; in hmcdrv_cache_cmd()
204 hmcdrv_cache_file.fsize = LLONG_MAX; in hmcdrv_cache_cmd()
205 hmcdrv_cache_file.ofs = -1; in hmcdrv_cache_cmd()
220 hmcdrv_cache_file.content = in hmcdrv_cache_startup()
224 if (!hmcdrv_cache_file.content) { in hmcdrv_cache_startup()
234 hmcdrv_cache_file.len = cachesize; in hmcdrv_cache_startup()
243 if (hmcdrv_cache_file.content) { in hmcdrv_cache_shutdown()
244 free_pages((unsigned long) hmcdrv_cache_file.content, in hmcdrv_cache_shutdown()
246 hmcdrv_cache_file.content = NULL; in hmcdrv_cache_shutdown()
249 hmcdrv_cache_file.id = HMCDRV_FTP_NOOP; in hmcdrv_cache_shutdown()
250 hmcdrv_cache_file.fsize = LLONG_MAX; in hmcdrv_cache_shutdown()
251 hmcdrv_cache_file.ofs = -1; in hmcdrv_cache_shutdown()
252 hmcdrv_cache_file.len = 0; /* no cache */ in hmcdrv_cache_shutdown()