Lines Matching refs:zsp

2682 static inline bool zbc_zone_is_conv(struct sdeb_zone_state *zsp)  in zbc_zone_is_conv()  argument
2684 return zsp->z_type == ZBC_ZONE_TYPE_CNV; in zbc_zone_is_conv()
2688 struct sdeb_zone_state *zsp) in zbc_close_zone() argument
2692 if (zbc_zone_is_conv(zsp)) in zbc_close_zone()
2695 zc = zsp->z_cond; in zbc_close_zone()
2704 if (zsp->z_wp == zsp->z_start) { in zbc_close_zone()
2705 zsp->z_cond = ZC1_EMPTY; in zbc_close_zone()
2707 zsp->z_cond = ZC4_CLOSED; in zbc_close_zone()
2714 struct sdeb_zone_state *zsp = &devip->zstate[0]; in zbc_close_imp_open_zone() local
2717 for (i = 0; i < devip->nr_zones; i++, zsp++) { in zbc_close_imp_open_zone()
2718 if (zsp->z_cond == ZC2_IMPLICIT_OPEN) { in zbc_close_imp_open_zone()
2719 zbc_close_zone(devip, zsp); in zbc_close_imp_open_zone()
2726 struct sdeb_zone_state *zsp, bool explicit) in zbc_open_zone() argument
2730 if (zbc_zone_is_conv(zsp)) in zbc_open_zone()
2733 zc = zsp->z_cond; in zbc_open_zone()
2739 if (explicit && zsp->z_cond == ZC2_IMPLICIT_OPEN) in zbc_open_zone()
2740 zbc_close_zone(devip, zsp); in zbc_open_zone()
2745 if (zsp->z_cond == ZC4_CLOSED) in zbc_open_zone()
2748 zsp->z_cond = ZC3_EXPLICIT_OPEN; in zbc_open_zone()
2751 zsp->z_cond = ZC2_IMPLICIT_OPEN; in zbc_open_zone()
2757 struct sdeb_zone_state *zsp) in zbc_set_zone_full() argument
2759 switch (zsp->z_cond) { in zbc_set_zone_full()
2768 zsp->z_start, zsp->z_cond); in zbc_set_zone_full()
2771 zsp->z_cond = ZC5_FULL; in zbc_set_zone_full()
2777 struct sdeb_zone_state *zsp = zbc_zone(devip, lba); in zbc_inc_wp() local
2778 unsigned long long n, end, zend = zsp->z_start + zsp->z_size; in zbc_inc_wp()
2780 if (zbc_zone_is_conv(zsp)) in zbc_inc_wp()
2783 if (zsp->z_type == ZBC_ZONE_TYPE_SWR) { in zbc_inc_wp()
2784 zsp->z_wp += num; in zbc_inc_wp()
2785 if (zsp->z_wp >= zend) in zbc_inc_wp()
2786 zbc_set_zone_full(devip, zsp); in zbc_inc_wp()
2791 if (lba != zsp->z_wp) in zbc_inc_wp()
2792 zsp->z_non_seq_resource = true; in zbc_inc_wp()
2797 zsp->z_wp = zend; in zbc_inc_wp()
2798 } else if (end > zsp->z_wp) { in zbc_inc_wp()
2800 zsp->z_wp = end; in zbc_inc_wp()
2804 if (zsp->z_wp >= zend) in zbc_inc_wp()
2805 zbc_set_zone_full(devip, zsp); in zbc_inc_wp()
2810 zsp++; in zbc_inc_wp()
2811 zend = zsp->z_start + zsp->z_size; in zbc_inc_wp()
2821 struct sdeb_zone_state *zsp = zbc_zone(devip, lba); in check_zbc_access_params() local
2828 if (zsp_end != zsp && in check_zbc_access_params()
2829 zbc_zone_is_conv(zsp) && in check_zbc_access_params()
2840 if (zbc_zone_is_conv(zsp)) { in check_zbc_access_params()
2850 if (zsp->z_type == ZBC_ZONE_TYPE_SWR) { in check_zbc_access_params()
2852 if (zsp_end != zsp) { in check_zbc_access_params()
2859 if (zsp->z_cond == ZC5_FULL) { in check_zbc_access_params()
2865 if (lba != zsp->z_wp) { in check_zbc_access_params()
2874 if (zsp->z_cond == ZC1_EMPTY || zsp->z_cond == ZC4_CLOSED) { in check_zbc_access_params()
2882 zbc_open_zone(devip, zsp, false); in check_zbc_access_params()
4325 struct sdeb_zone_state *zsp; in resp_report_zones() local
4363 zsp = zbc_zone(devip, lba); in resp_report_zones()
4370 if (zsp->z_cond != ZC1_EMPTY) in resp_report_zones()
4375 if (zsp->z_cond != ZC2_IMPLICIT_OPEN) in resp_report_zones()
4380 if (zsp->z_cond != ZC3_EXPLICIT_OPEN) in resp_report_zones()
4385 if (zsp->z_cond != ZC4_CLOSED) in resp_report_zones()
4390 if (zsp->z_cond != ZC5_FULL) in resp_report_zones()
4403 if (!zsp->z_non_seq_resource) in resp_report_zones()
4408 if (!zbc_zone_is_conv(zsp)) in resp_report_zones()
4420 desc[0] = zsp->z_type; in resp_report_zones()
4421 desc[1] = zsp->z_cond << 4; in resp_report_zones()
4422 if (zsp->z_non_seq_resource) in resp_report_zones()
4424 put_unaligned_be64((u64)zsp->z_size, desc + 8); in resp_report_zones()
4425 put_unaligned_be64((u64)zsp->z_start, desc + 16); in resp_report_zones()
4426 put_unaligned_be64((u64)zsp->z_wp, desc + 24); in resp_report_zones()
4452 struct sdeb_zone_state *zsp = &devip->zstate[0]; in zbc_open_all() local
4455 for (i = 0; i < devip->nr_zones; i++, zsp++) { in zbc_open_all()
4456 if (zsp->z_cond == ZC4_CLOSED) in zbc_open_all()
4467 struct sdeb_zone_state *zsp; in resp_open_zone() local
4501 zsp = zbc_zone(devip, z_id); in resp_open_zone()
4502 if (z_id != zsp->z_start) { in resp_open_zone()
4507 if (zbc_zone_is_conv(zsp)) { in resp_open_zone()
4513 zc = zsp->z_cond; in resp_open_zone()
4524 zbc_open_zone(devip, zsp, true); in resp_open_zone()
4544 struct sdeb_zone_state *zsp; in resp_close_zone() local
4569 zsp = zbc_zone(devip, z_id); in resp_close_zone()
4570 if (z_id != zsp->z_start) { in resp_close_zone()
4575 if (zbc_zone_is_conv(zsp)) { in resp_close_zone()
4581 zbc_close_zone(devip, zsp); in resp_close_zone()
4588 struct sdeb_zone_state *zsp, bool empty) in zbc_finish_zone() argument
4590 enum sdebug_z_cond zc = zsp->z_cond; in zbc_finish_zone()
4595 zbc_close_zone(devip, zsp); in zbc_finish_zone()
4596 if (zsp->z_cond == ZC4_CLOSED) in zbc_finish_zone()
4598 zsp->z_wp = zsp->z_start + zsp->z_size; in zbc_finish_zone()
4599 zsp->z_cond = ZC5_FULL; in zbc_finish_zone()
4614 struct sdeb_zone_state *zsp; in resp_finish_zone() local
4642 zsp = zbc_zone(devip, z_id); in resp_finish_zone()
4643 if (z_id != zsp->z_start) { in resp_finish_zone()
4648 if (zbc_zone_is_conv(zsp)) { in resp_finish_zone()
4654 zbc_finish_zone(devip, zsp, true); in resp_finish_zone()
4661 struct sdeb_zone_state *zsp) in zbc_rwp_zone() argument
4666 if (zbc_zone_is_conv(zsp)) in zbc_rwp_zone()
4669 zc = zsp->z_cond; in zbc_rwp_zone()
4671 zbc_close_zone(devip, zsp); in zbc_rwp_zone()
4673 if (zsp->z_cond == ZC4_CLOSED) in zbc_rwp_zone()
4676 if (zsp->z_wp > zsp->z_start) in zbc_rwp_zone()
4677 memset(sip->storep + zsp->z_start * sdebug_sector_size, 0, in zbc_rwp_zone()
4678 (zsp->z_wp - zsp->z_start) * sdebug_sector_size); in zbc_rwp_zone()
4680 zsp->z_non_seq_resource = false; in zbc_rwp_zone()
4681 zsp->z_wp = zsp->z_start; in zbc_rwp_zone()
4682 zsp->z_cond = ZC1_EMPTY; in zbc_rwp_zone()
4695 struct sdeb_zone_state *zsp; in resp_rwp_zone() local
4722 zsp = zbc_zone(devip, z_id); in resp_rwp_zone()
4723 if (z_id != zsp->z_start) { in resp_rwp_zone()
4728 if (zbc_zone_is_conv(zsp)) { in resp_rwp_zone()
4734 zbc_rwp_zone(devip, zsp); in resp_rwp_zone()
4855 struct sdeb_zone_state *zsp; in sdebug_device_create_zones() local
4911 zsp = &devip->zstate[i]; in sdebug_device_create_zones()
4913 zsp->z_start = zstart; in sdebug_device_create_zones()
4916 zsp->z_type = ZBC_ZONE_TYPE_CNV; in sdebug_device_create_zones()
4917 zsp->z_cond = ZBC_NOT_WRITE_POINTER; in sdebug_device_create_zones()
4918 zsp->z_wp = (sector_t)-1; in sdebug_device_create_zones()
4921 zsp->z_type = ZBC_ZONE_TYPE_SWR; in sdebug_device_create_zones()
4923 zsp->z_type = ZBC_ZONE_TYPE_SWP; in sdebug_device_create_zones()
4924 zsp->z_cond = ZC1_EMPTY; in sdebug_device_create_zones()
4925 zsp->z_wp = zsp->z_start; in sdebug_device_create_zones()
4928 if (zsp->z_start + devip->zsize < capacity) in sdebug_device_create_zones()
4929 zsp->z_size = devip->zsize; in sdebug_device_create_zones()
4931 zsp->z_size = capacity - zsp->z_start; in sdebug_device_create_zones()
4933 zstart += zsp->z_size; in sdebug_device_create_zones()