Lines Matching refs:zsp

2670 static inline bool zbc_zone_is_conv(struct sdeb_zone_state *zsp)  in zbc_zone_is_conv()  argument
2672 return zsp->z_type == ZBC_ZONE_TYPE_CNV; in zbc_zone_is_conv()
2676 struct sdeb_zone_state *zsp) in zbc_close_zone() argument
2680 if (zbc_zone_is_conv(zsp)) in zbc_close_zone()
2683 zc = zsp->z_cond; in zbc_close_zone()
2692 if (zsp->z_wp == zsp->z_start) { in zbc_close_zone()
2693 zsp->z_cond = ZC1_EMPTY; in zbc_close_zone()
2695 zsp->z_cond = ZC4_CLOSED; in zbc_close_zone()
2702 struct sdeb_zone_state *zsp = &devip->zstate[0]; in zbc_close_imp_open_zone() local
2705 for (i = 0; i < devip->nr_zones; i++, zsp++) { in zbc_close_imp_open_zone()
2706 if (zsp->z_cond == ZC2_IMPLICIT_OPEN) { in zbc_close_imp_open_zone()
2707 zbc_close_zone(devip, zsp); in zbc_close_imp_open_zone()
2714 struct sdeb_zone_state *zsp, bool explicit) in zbc_open_zone() argument
2718 if (zbc_zone_is_conv(zsp)) in zbc_open_zone()
2721 zc = zsp->z_cond; in zbc_open_zone()
2727 if (explicit && zsp->z_cond == ZC2_IMPLICIT_OPEN) in zbc_open_zone()
2728 zbc_close_zone(devip, zsp); in zbc_open_zone()
2733 if (zsp->z_cond == ZC4_CLOSED) in zbc_open_zone()
2736 zsp->z_cond = ZC3_EXPLICIT_OPEN; in zbc_open_zone()
2739 zsp->z_cond = ZC2_IMPLICIT_OPEN; in zbc_open_zone()
2747 struct sdeb_zone_state *zsp = zbc_zone(devip, lba); in zbc_inc_wp() local
2748 unsigned long long n, end, zend = zsp->z_start + zsp->z_size; in zbc_inc_wp()
2750 if (zbc_zone_is_conv(zsp)) in zbc_inc_wp()
2753 if (zsp->z_type == ZBC_ZONE_TYPE_SWR) { in zbc_inc_wp()
2754 zsp->z_wp += num; in zbc_inc_wp()
2755 if (zsp->z_wp >= zend) in zbc_inc_wp()
2756 zsp->z_cond = ZC5_FULL; in zbc_inc_wp()
2761 if (lba != zsp->z_wp) in zbc_inc_wp()
2762 zsp->z_non_seq_resource = true; in zbc_inc_wp()
2767 zsp->z_wp = zend; in zbc_inc_wp()
2768 } else if (end > zsp->z_wp) { in zbc_inc_wp()
2770 zsp->z_wp = end; in zbc_inc_wp()
2774 if (zsp->z_wp >= zend) in zbc_inc_wp()
2775 zsp->z_cond = ZC5_FULL; in zbc_inc_wp()
2780 zsp++; in zbc_inc_wp()
2781 zend = zsp->z_start + zsp->z_size; in zbc_inc_wp()
2791 struct sdeb_zone_state *zsp = zbc_zone(devip, lba); in check_zbc_access_params() local
2798 if (zsp_end != zsp && in check_zbc_access_params()
2799 zbc_zone_is_conv(zsp) && in check_zbc_access_params()
2810 if (zbc_zone_is_conv(zsp)) { in check_zbc_access_params()
2820 if (zsp->z_type == ZBC_ZONE_TYPE_SWR) { in check_zbc_access_params()
2822 if (zsp_end != zsp) { in check_zbc_access_params()
2829 if (zsp->z_cond == ZC5_FULL) { in check_zbc_access_params()
2835 if (lba != zsp->z_wp) { in check_zbc_access_params()
2844 if (zsp->z_cond == ZC1_EMPTY || zsp->z_cond == ZC4_CLOSED) { in check_zbc_access_params()
2852 zbc_open_zone(devip, zsp, false); in check_zbc_access_params()
4293 struct sdeb_zone_state *zsp; in resp_report_zones() local
4329 zsp = zbc_zone(devip, lba); in resp_report_zones()
4336 if (zsp->z_cond != ZC1_EMPTY) in resp_report_zones()
4341 if (zsp->z_cond != ZC2_IMPLICIT_OPEN) in resp_report_zones()
4346 if (zsp->z_cond != ZC3_EXPLICIT_OPEN) in resp_report_zones()
4351 if (zsp->z_cond != ZC4_CLOSED) in resp_report_zones()
4356 if (zsp->z_cond != ZC5_FULL) in resp_report_zones()
4369 if (!zsp->z_non_seq_resource) in resp_report_zones()
4374 if (!zbc_zone_is_conv(zsp)) in resp_report_zones()
4386 desc[0] = zsp->z_type; in resp_report_zones()
4387 desc[1] = zsp->z_cond << 4; in resp_report_zones()
4388 if (zsp->z_non_seq_resource) in resp_report_zones()
4390 put_unaligned_be64((u64)zsp->z_size, desc + 8); in resp_report_zones()
4391 put_unaligned_be64((u64)zsp->z_start, desc + 16); in resp_report_zones()
4392 put_unaligned_be64((u64)zsp->z_wp, desc + 24); in resp_report_zones()
4418 struct sdeb_zone_state *zsp = &devip->zstate[0]; in zbc_open_all() local
4421 for (i = 0; i < devip->nr_zones; i++, zsp++) { in zbc_open_all()
4422 if (zsp->z_cond == ZC4_CLOSED) in zbc_open_all()
4433 struct sdeb_zone_state *zsp; in resp_open_zone() local
4467 zsp = zbc_zone(devip, z_id); in resp_open_zone()
4468 if (z_id != zsp->z_start) { in resp_open_zone()
4473 if (zbc_zone_is_conv(zsp)) { in resp_open_zone()
4479 zc = zsp->z_cond; in resp_open_zone()
4490 zbc_open_zone(devip, zsp, true); in resp_open_zone()
4510 struct sdeb_zone_state *zsp; in resp_close_zone() local
4535 zsp = zbc_zone(devip, z_id); in resp_close_zone()
4536 if (z_id != zsp->z_start) { in resp_close_zone()
4541 if (zbc_zone_is_conv(zsp)) { in resp_close_zone()
4547 zbc_close_zone(devip, zsp); in resp_close_zone()
4554 struct sdeb_zone_state *zsp, bool empty) in zbc_finish_zone() argument
4556 enum sdebug_z_cond zc = zsp->z_cond; in zbc_finish_zone()
4561 zbc_close_zone(devip, zsp); in zbc_finish_zone()
4562 if (zsp->z_cond == ZC4_CLOSED) in zbc_finish_zone()
4564 zsp->z_wp = zsp->z_start + zsp->z_size; in zbc_finish_zone()
4565 zsp->z_cond = ZC5_FULL; in zbc_finish_zone()
4580 struct sdeb_zone_state *zsp; in resp_finish_zone() local
4608 zsp = zbc_zone(devip, z_id); in resp_finish_zone()
4609 if (z_id != zsp->z_start) { in resp_finish_zone()
4614 if (zbc_zone_is_conv(zsp)) { in resp_finish_zone()
4620 zbc_finish_zone(devip, zsp, true); in resp_finish_zone()
4627 struct sdeb_zone_state *zsp) in zbc_rwp_zone() argument
4631 if (zbc_zone_is_conv(zsp)) in zbc_rwp_zone()
4634 zc = zsp->z_cond; in zbc_rwp_zone()
4636 zbc_close_zone(devip, zsp); in zbc_rwp_zone()
4638 if (zsp->z_cond == ZC4_CLOSED) in zbc_rwp_zone()
4641 zsp->z_non_seq_resource = false; in zbc_rwp_zone()
4642 zsp->z_wp = zsp->z_start; in zbc_rwp_zone()
4643 zsp->z_cond = ZC1_EMPTY; in zbc_rwp_zone()
4656 struct sdeb_zone_state *zsp; in resp_rwp_zone() local
4683 zsp = zbc_zone(devip, z_id); in resp_rwp_zone()
4684 if (z_id != zsp->z_start) { in resp_rwp_zone()
4689 if (zbc_zone_is_conv(zsp)) { in resp_rwp_zone()
4695 zbc_rwp_zone(devip, zsp); in resp_rwp_zone()
4816 struct sdeb_zone_state *zsp; in sdebug_device_create_zones() local
4872 zsp = &devip->zstate[i]; in sdebug_device_create_zones()
4874 zsp->z_start = zstart; in sdebug_device_create_zones()
4877 zsp->z_type = ZBC_ZONE_TYPE_CNV; in sdebug_device_create_zones()
4878 zsp->z_cond = ZBC_NOT_WRITE_POINTER; in sdebug_device_create_zones()
4879 zsp->z_wp = (sector_t)-1; in sdebug_device_create_zones()
4882 zsp->z_type = ZBC_ZONE_TYPE_SWR; in sdebug_device_create_zones()
4884 zsp->z_type = ZBC_ZONE_TYPE_SWP; in sdebug_device_create_zones()
4885 zsp->z_cond = ZC1_EMPTY; in sdebug_device_create_zones()
4886 zsp->z_wp = zsp->z_start; in sdebug_device_create_zones()
4889 if (zsp->z_start + devip->zsize < capacity) in sdebug_device_create_zones()
4890 zsp->z_size = devip->zsize; in sdebug_device_create_zones()
4892 zsp->z_size = capacity - zsp->z_start; in sdebug_device_create_zones()
4894 zstart += zsp->z_size; in sdebug_device_create_zones()