Lines Matching refs:blkcnt

163 static ulong _scsi_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,  in _scsi_read()  argument
167 lbaint_t blkcnt, void *buffer) in _scsi_read()
190 blks = blkcnt; in _scsi_read()
225 blkcnt -= blks; in _scsi_read()
232 return blkcnt; in _scsi_read()
236 static ulong scsi_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt, in scsi_read() argument
240 lbaint_t blkcnt, void *buffer) in scsi_read()
246 long ret = blkcnt; in scsi_read()
249 if ((blknr & (rawsectsz - 1)) || (blkcnt & (rawsectsz - 1))) { in scsi_read()
253 while (blkcnt) { in scsi_read()
257 if (n_sec > blkcnt) in scsi_read()
258 n_sec = blkcnt; in scsi_read()
264 num_lpa = blkcnt / rawsectsz; in scsi_read()
268 blkcnt -= n_sec; in scsi_read()
276 blkcnt /= rawsectsz; in scsi_read()
277 _scsi_read(dev, blknr, blkcnt, buffer); in scsi_read()
282 return _scsi_read(dev, blknr, blkcnt, buffer); in scsi_read()
284 return _scsi_read(block_dev, blknr, blkcnt, buffer); in scsi_read()
296 static ulong _scsi_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt, in _scsi_write() argument
300 lbaint_t blkcnt, const void *buffer) in _scsi_write()
324 blks = blkcnt; in _scsi_write()
347 blkcnt -= blks; in _scsi_write()
354 return blkcnt; in _scsi_write()
358 static ulong scsi_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt, in scsi_write() argument
362 lbaint_t blkcnt, const void *buffer) in scsi_write()
368 long ret = blkcnt; in scsi_write()
371 if ((blknr & (rawsectsz - 1)) || (blkcnt & (rawsectsz - 1))) { in scsi_write()
375 while (blkcnt) { in scsi_write()
379 if (n_sec > blkcnt) in scsi_write()
380 n_sec = blkcnt; in scsi_write()
386 num_lpa = blkcnt / rawsectsz; in scsi_write()
390 blkcnt -= n_sec; in scsi_write()
398 blkcnt /= rawsectsz; in scsi_write()
399 _scsi_write(dev, blknr, blkcnt, buffer); in scsi_write()
404 return _scsi_write(dev, blknr, blkcnt, buffer); in scsi_write()
406 return _scsi_write(block_dev, blknr, blkcnt, buffer); in scsi_write()
412 static ulong scsi_erase(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt) in scsi_erase() argument
421 return blkcnt; in scsi_erase()
432 if (blknr % rawsectsz != 0 || blkcnt % rawsectsz != 0) in scsi_erase()
433 printf("UFS erase area not aligned to %d, blknr = %lx, blkcnt = %lx\n", rawsectsz, blknr, blkcnt); in scsi_erase()
441 um_list->ub_desc.um_block_sz = cpu_to_be32((uint32_t)blkcnt / rawsectsz); in scsi_erase()
456 return blkcnt; in scsi_erase()