Deleted Added
full compact
sbp.c (115788) sbp.c (116351)
1/*
2 * Copyright (c) 2003 Hidetosh Shimokawa
3 * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetosh Shimokawa
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 17 unchanged lines hidden (view full) ---

26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
30 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 *
1/*
2 * Copyright (c) 2003 Hidetosh Shimokawa
3 * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetosh Shimokawa
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 17 unchanged lines hidden (view full) ---

26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
30 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 *
34 * $FreeBSD: head/sys/dev/firewire/sbp.c 115788 2003-06-03 23:01:43Z simokawa $
34 * $FreeBSD: head/sys/dev/firewire/sbp.c 116351 2003-06-14 22:17:41Z njl $
35 *
36 */
37
38#include <sys/param.h>
39#include <sys/systm.h>
40#include <sys/module.h>
41#include <sys/bus.h>
42#include <sys/mbuf.h>

--- 2243 unchanged lines hidden (view full) ---

2286 printf("sbp: bus_dmamap_load error %d\n", error);
2287 } else
2288 sbp_execute_ocb(ocb, NULL, 0, 0);
2289 break;
2290 }
2291 case XPT_CALC_GEOMETRY:
2292 {
2293 struct ccb_calc_geometry *ccg;
35 *
36 */
37
38#include <sys/param.h>
39#include <sys/systm.h>
40#include <sys/module.h>
41#include <sys/bus.h>
42#include <sys/mbuf.h>

--- 2243 unchanged lines hidden (view full) ---

2286 printf("sbp: bus_dmamap_load error %d\n", error);
2287 } else
2288 sbp_execute_ocb(ocb, NULL, 0, 0);
2289 break;
2290 }
2291 case XPT_CALC_GEOMETRY:
2292 {
2293 struct ccb_calc_geometry *ccg;
2294 u_int32_t size_mb;
2295 u_int32_t secs_per_cylinder;
2296 int extended = 1;
2297 ccg = &ccb->ccg;
2298
2294
2295 ccg = &ccb->ccg;
2299 if (ccg->block_size == 0) {
2300 printf("sbp_action1: block_size is 0.\n");
2301 ccb->ccb_h.status = CAM_REQ_INVALID;
2302 xpt_done(ccb);
2303 break;
2304 }
2305SBP_DEBUG(1)
2306 printf("%s:%d:%d:%d:XPT_CALC_GEOMETRY: "

--- 6 unchanged lines hidden (view full) ---

2313 cam_sim_path(sbp->sim),
2314 ccb->ccb_h.target_id, ccb->ccb_h.target_lun,
2315#if __FreeBSD_version >= 500000
2316 (uintmax_t)
2317#endif
2318 ccg->volume_size);
2319END_DEBUG
2320
2296 if (ccg->block_size == 0) {
2297 printf("sbp_action1: block_size is 0.\n");
2298 ccb->ccb_h.status = CAM_REQ_INVALID;
2299 xpt_done(ccb);
2300 break;
2301 }
2302SBP_DEBUG(1)
2303 printf("%s:%d:%d:%d:XPT_CALC_GEOMETRY: "

--- 6 unchanged lines hidden (view full) ---

2310 cam_sim_path(sbp->sim),
2311 ccb->ccb_h.target_id, ccb->ccb_h.target_lun,
2312#if __FreeBSD_version >= 500000
2313 (uintmax_t)
2314#endif
2315 ccg->volume_size);
2316END_DEBUG
2317
2321 size_mb = ccg->volume_size
2322 / ((1024L * 1024L) / ccg->block_size);
2323
2324 if (size_mb >= 1024 && extended) {
2325 ccg->heads = 255;
2326 ccg->secs_per_track = 63;
2327 } else {
2328 ccg->heads = 64;
2329 ccg->secs_per_track = 32;
2330 }
2331 secs_per_cylinder = ccg->heads * ccg->secs_per_track;
2332 ccg->cylinders = ccg->volume_size / secs_per_cylinder;
2333 ccb->ccb_h.status = CAM_REQ_CMP;
2318 cam_calc_geometry(ccg, /*extended*/1);
2334 xpt_done(ccb);
2335 break;
2336 }
2337 case XPT_RESET_BUS: /* Reset the specified SCSI bus */
2338 {
2339
2340SBP_DEBUG(1)
2341 printf("%s:%d:XPT_RESET_BUS: \n",

--- 336 unchanged lines hidden ---
2319 xpt_done(ccb);
2320 break;
2321 }
2322 case XPT_RESET_BUS: /* Reset the specified SCSI bus */
2323 {
2324
2325SBP_DEBUG(1)
2326 printf("%s:%d:XPT_RESET_BUS: \n",

--- 336 unchanged lines hidden ---