Example #1
0
void init_hp_ult_3(struct lu_phy_attr *lu)
{
	ssc_pm.name = pm_name_lto3;
	ssc_pm.lu = lu;
	ssc_pm.native_drive_density = &density_lto3;
	ssc_pm.clear_WORM = clear_ult_WORM;
	ssc_pm.set_WORM = set_ult_WORM;
	ssc_pm.drive_supports_append_only_mode = FALSE;
	ssc_pm.drive_supports_early_warning = TRUE;
	ssc_pm.drive_supports_prog_early_warning = FALSE;
	ssc_pm.drive_supports_WORM = TRUE;
	ssc_pm.drive_supports_SPR = TRUE;
	ssc_pm.drive_supports_SP = FALSE;
	ssc_pm.drive_ANSI_VERSION = 5;

	personality_module_register(&ssc_pm);

	init_ult_inquiry(lu);

	/* Based on 9th edition of IBM SCSI Reference */
	add_mode_page_rw_err_recovery(lu);
	add_mode_disconnect_reconnect(lu);
	add_mode_control(lu);
	add_mode_data_compression(lu);
	add_mode_device_configuration(lu);
	add_mode_device_configuration_extention(lu);
	add_mode_information_exception(lu);
	add_mode_medium_configuration(lu);
	add_mode_behavior_configuration(lu);
	add_mode_vendor_25h_mode_pages(lu);

	add_log_write_err_counter(lu);
	add_log_read_err_counter(lu);
	add_log_sequential_access(lu);
	add_log_temperature_page(lu);
	add_log_tape_alert(lu);
	add_log_tape_usage(lu);
	add_log_tape_capacity(lu);
	add_log_data_compression(lu);

	/* Capacity units in MBytes */
	((struct priv_lu_ssc *)lu->lu_private)->capacity_unit = 1L << 20;

	add_density_support(&lu->den_list, &density_lto1, 0);
	add_density_support(&lu->den_list, &density_lto2, 1);
	add_density_support(&lu->den_list, &density_lto3, 1);

	add_drive_media_list(lu, LOAD_RO, "LTO1");
	add_drive_media_list(lu, LOAD_RO, "LTO1 Clean");
	add_drive_media_list(lu, LOAD_RW, "LTO2");
	add_drive_media_list(lu, LOAD_RO, "LTO2 Clean");
	add_drive_media_list(lu, LOAD_RW, "LTO3");
	add_drive_media_list(lu, LOAD_RO, "LTO3 Clean");
	add_drive_media_list(lu, LOAD_RW, "LTO3 WORM");
}
Example #2
0
void init_hp_ult_2(struct lu_phy_attr *lu)
{
	init_ult_inquiry(lu);
	ssc_pm.name = pm_name_lto2;
	ssc_pm.lu = lu;
	personality_module_register(&ssc_pm);

	ssc_pm.native_drive_density = &density_lto2;

	/* Drive capabilities need to be defined before mode pages */
	ssc_pm.drive_supports_append_only_mode = FALSE;
	ssc_pm.drive_supports_early_warning = TRUE;
	ssc_pm.drive_supports_prog_early_warning = FALSE;

	/* Based on 9th edition of IBM SCSI Reference */
	add_mode_page_rw_err_recovery(lu);
	add_mode_disconnect_reconnect(lu);
	add_mode_control(lu);
	add_mode_data_compression(lu);
	add_mode_device_configuration(lu);
	add_mode_information_exception(lu);
	add_mode_medium_configuration(lu);
	add_mode_behavior_configuration(lu);

	add_log_write_err_counter(lu);
	add_log_read_err_counter(lu);
	add_log_sequential_access(lu);
	add_log_temperature_page(lu);
	add_log_tape_alert(lu);
	add_log_tape_usage(lu);
	add_log_tape_capacity(lu);
	add_log_data_compression(lu);

	/* Capacity units in MBytes */
	((struct priv_lu_ssc *)lu->lu_private)->capacity_unit = 1L << 20;
	add_density_support(&lu->den_list, &density_lto1, 1);
	add_density_support(&lu->den_list, &density_lto2, 1);
	add_drive_media_list(lu, LOAD_RW, "LTO1");
	add_drive_media_list(lu, LOAD_RO, "LTO1 Clean");
	add_drive_media_list(lu, LOAD_RW, "LTO2");
	add_drive_media_list(lu, LOAD_RO, "LTO2 Clean");
}