Lines Matching refs:zsp
2671 static inline bool zbc_zone_is_conv(struct sdeb_zone_state *zsp) in zbc_zone_is_conv() argument
2673 return zsp->z_type == ZBC_ZONE_TYPE_CNV; in zbc_zone_is_conv()
2677 struct sdeb_zone_state *zsp) in zbc_close_zone() argument
2681 if (zbc_zone_is_conv(zsp)) in zbc_close_zone()
2684 zc = zsp->z_cond; in zbc_close_zone()
2693 if (zsp->z_wp == zsp->z_start) { in zbc_close_zone()
2694 zsp->z_cond = ZC1_EMPTY; in zbc_close_zone()
2696 zsp->z_cond = ZC4_CLOSED; in zbc_close_zone()
2703 struct sdeb_zone_state *zsp = &devip->zstate[0]; in zbc_close_imp_open_zone() local
2706 for (i = 0; i < devip->nr_zones; i++, zsp++) { in zbc_close_imp_open_zone()
2707 if (zsp->z_cond == ZC2_IMPLICIT_OPEN) { in zbc_close_imp_open_zone()
2708 zbc_close_zone(devip, zsp); in zbc_close_imp_open_zone()
2715 struct sdeb_zone_state *zsp, bool explicit) in zbc_open_zone() argument
2719 if (zbc_zone_is_conv(zsp)) in zbc_open_zone()
2722 zc = zsp->z_cond; in zbc_open_zone()
2728 if (explicit && zsp->z_cond == ZC2_IMPLICIT_OPEN) in zbc_open_zone()
2729 zbc_close_zone(devip, zsp); in zbc_open_zone()
2734 if (zsp->z_cond == ZC4_CLOSED) in zbc_open_zone()
2737 zsp->z_cond = ZC3_EXPLICIT_OPEN; in zbc_open_zone()
2740 zsp->z_cond = ZC2_IMPLICIT_OPEN; in zbc_open_zone()
2748 struct sdeb_zone_state *zsp = zbc_zone(devip, lba); in zbc_inc_wp() local
2749 unsigned long long n, end, zend = zsp->z_start + zsp->z_size; in zbc_inc_wp()
2751 if (zbc_zone_is_conv(zsp)) in zbc_inc_wp()
2754 if (zsp->z_type == ZBC_ZONE_TYPE_SWR) { in zbc_inc_wp()
2755 zsp->z_wp += num; in zbc_inc_wp()
2756 if (zsp->z_wp >= zend) in zbc_inc_wp()
2757 zsp->z_cond = ZC5_FULL; in zbc_inc_wp()
2762 if (lba != zsp->z_wp) in zbc_inc_wp()
2763 zsp->z_non_seq_resource = true; in zbc_inc_wp()
2768 zsp->z_wp = zend; in zbc_inc_wp()
2769 } else if (end > zsp->z_wp) { in zbc_inc_wp()
2771 zsp->z_wp = end; in zbc_inc_wp()
2775 if (zsp->z_wp >= zend) in zbc_inc_wp()
2776 zsp->z_cond = ZC5_FULL; in zbc_inc_wp()
2781 zsp++; in zbc_inc_wp()
2782 zend = zsp->z_start + zsp->z_size; in zbc_inc_wp()
2792 struct sdeb_zone_state *zsp = zbc_zone(devip, lba); in check_zbc_access_params() local
2799 if (zsp_end != zsp && in check_zbc_access_params()
2800 zbc_zone_is_conv(zsp) && in check_zbc_access_params()
2811 if (zbc_zone_is_conv(zsp)) { in check_zbc_access_params()
2821 if (zsp->z_type == ZBC_ZONE_TYPE_SWR) { in check_zbc_access_params()
2823 if (zsp_end != zsp) { in check_zbc_access_params()
2830 if (zsp->z_cond == ZC5_FULL) { in check_zbc_access_params()
2836 if (lba != zsp->z_wp) { in check_zbc_access_params()
2845 if (zsp->z_cond == ZC1_EMPTY || zsp->z_cond == ZC4_CLOSED) { in check_zbc_access_params()
2853 zbc_open_zone(devip, zsp, false); in check_zbc_access_params()
4314 struct sdeb_zone_state *zsp; in resp_report_zones() local
4350 zsp = zbc_zone(devip, lba); in resp_report_zones()
4357 if (zsp->z_cond != ZC1_EMPTY) in resp_report_zones()
4362 if (zsp->z_cond != ZC2_IMPLICIT_OPEN) in resp_report_zones()
4367 if (zsp->z_cond != ZC3_EXPLICIT_OPEN) in resp_report_zones()
4372 if (zsp->z_cond != ZC4_CLOSED) in resp_report_zones()
4377 if (zsp->z_cond != ZC5_FULL) in resp_report_zones()
4390 if (!zsp->z_non_seq_resource) in resp_report_zones()
4395 if (!zbc_zone_is_conv(zsp)) in resp_report_zones()
4407 desc[0] = zsp->z_type; in resp_report_zones()
4408 desc[1] = zsp->z_cond << 4; in resp_report_zones()
4409 if (zsp->z_non_seq_resource) in resp_report_zones()
4411 put_unaligned_be64((u64)zsp->z_size, desc + 8); in resp_report_zones()
4412 put_unaligned_be64((u64)zsp->z_start, desc + 16); in resp_report_zones()
4413 put_unaligned_be64((u64)zsp->z_wp, desc + 24); in resp_report_zones()
4439 struct sdeb_zone_state *zsp = &devip->zstate[0]; in zbc_open_all() local
4442 for (i = 0; i < devip->nr_zones; i++, zsp++) { in zbc_open_all()
4443 if (zsp->z_cond == ZC4_CLOSED) in zbc_open_all()
4454 struct sdeb_zone_state *zsp; in resp_open_zone() local
4488 zsp = zbc_zone(devip, z_id); in resp_open_zone()
4489 if (z_id != zsp->z_start) { in resp_open_zone()
4494 if (zbc_zone_is_conv(zsp)) { in resp_open_zone()
4500 zc = zsp->z_cond; in resp_open_zone()
4511 zbc_open_zone(devip, zsp, true); in resp_open_zone()
4531 struct sdeb_zone_state *zsp; in resp_close_zone() local
4556 zsp = zbc_zone(devip, z_id); in resp_close_zone()
4557 if (z_id != zsp->z_start) { in resp_close_zone()
4562 if (zbc_zone_is_conv(zsp)) { in resp_close_zone()
4568 zbc_close_zone(devip, zsp); in resp_close_zone()
4575 struct sdeb_zone_state *zsp, bool empty) in zbc_finish_zone() argument
4577 enum sdebug_z_cond zc = zsp->z_cond; in zbc_finish_zone()
4582 zbc_close_zone(devip, zsp); in zbc_finish_zone()
4583 if (zsp->z_cond == ZC4_CLOSED) in zbc_finish_zone()
4585 zsp->z_wp = zsp->z_start + zsp->z_size; in zbc_finish_zone()
4586 zsp->z_cond = ZC5_FULL; in zbc_finish_zone()
4601 struct sdeb_zone_state *zsp; in resp_finish_zone() local
4629 zsp = zbc_zone(devip, z_id); in resp_finish_zone()
4630 if (z_id != zsp->z_start) { in resp_finish_zone()
4635 if (zbc_zone_is_conv(zsp)) { in resp_finish_zone()
4641 zbc_finish_zone(devip, zsp, true); in resp_finish_zone()
4648 struct sdeb_zone_state *zsp) in zbc_rwp_zone() argument
4652 if (zbc_zone_is_conv(zsp)) in zbc_rwp_zone()
4655 zc = zsp->z_cond; in zbc_rwp_zone()
4657 zbc_close_zone(devip, zsp); in zbc_rwp_zone()
4659 if (zsp->z_cond == ZC4_CLOSED) in zbc_rwp_zone()
4662 zsp->z_non_seq_resource = false; in zbc_rwp_zone()
4663 zsp->z_wp = zsp->z_start; in zbc_rwp_zone()
4664 zsp->z_cond = ZC1_EMPTY; in zbc_rwp_zone()
4677 struct sdeb_zone_state *zsp; in resp_rwp_zone() local
4704 zsp = zbc_zone(devip, z_id); in resp_rwp_zone()
4705 if (z_id != zsp->z_start) { in resp_rwp_zone()
4710 if (zbc_zone_is_conv(zsp)) { in resp_rwp_zone()
4716 zbc_rwp_zone(devip, zsp); in resp_rwp_zone()
4837 struct sdeb_zone_state *zsp; in sdebug_device_create_zones() local
4893 zsp = &devip->zstate[i]; in sdebug_device_create_zones()
4895 zsp->z_start = zstart; in sdebug_device_create_zones()
4898 zsp->z_type = ZBC_ZONE_TYPE_CNV; in sdebug_device_create_zones()
4899 zsp->z_cond = ZBC_NOT_WRITE_POINTER; in sdebug_device_create_zones()
4900 zsp->z_wp = (sector_t)-1; in sdebug_device_create_zones()
4903 zsp->z_type = ZBC_ZONE_TYPE_SWR; in sdebug_device_create_zones()
4905 zsp->z_type = ZBC_ZONE_TYPE_SWP; in sdebug_device_create_zones()
4906 zsp->z_cond = ZC1_EMPTY; in sdebug_device_create_zones()
4907 zsp->z_wp = zsp->z_start; in sdebug_device_create_zones()
4910 if (zsp->z_start + devip->zsize < capacity) in sdebug_device_create_zones()
4911 zsp->z_size = devip->zsize; in sdebug_device_create_zones()
4913 zsp->z_size = capacity - zsp->z_start; in sdebug_device_create_zones()
4915 zstart += zsp->z_size; in sdebug_device_create_zones()