Deleted Added
sdiff udiff text old ( 231603 ) new ( 231879 )
full compact
1/*-
2 * Copyright (C) 2012 Emulex
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

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

31 * Contact Information:
32 * freebsd-drivers@emulex.com
33 *
34 * Emulex
35 * 3333 Susan Street
36 * Costa Mesa, CA 92626
37 */
38
39/* $FreeBSD: head/sys/dev/oce/oce_hw.c 231603 2012-02-13 19:35:35Z jhb $ */
40
41#include "oce_if.h"
42
43static int oce_POST(POCE_SOFTC sc);
44
45/**
46 * @brief Function to post status
47 * @param sc software handle to the device

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

335 */
336void
337oce_hw_shutdown(POCE_SOFTC sc)
338{
339
340 oce_stats_free(sc);
341 /* disable hardware interrupts */
342 oce_hw_intr_disable(sc);
343 /* Free LRO resources */
344 oce_free_lro(sc);
345 /* Release queue*/
346 oce_queue_release_all(sc);
347 /*Delete Network Interface*/
348 oce_delete_nw_interface(sc);
349 /* After fw clean we dont send any cmds to fw.*/
350 oce_fw_clean(sc);
351 /* release intr resources */
352 oce_intr_free(sc);

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

489 sc->link_speed = link.mac_speed;
490 else
491 sc->link_speed = 0;
492
493 sc->qos_link_speed = (uint32_t )link.qos_link_speed * 10;
494
495 rc = oce_start_mq(sc->mq);
496
497 /* we need to get MCC aync events.
498 So enable intrs and also arm first EQ
499 */
500 oce_hw_intr_enable(sc);
501 oce_arm_eq(sc, sc->eq[0]->eq_id, 0, TRUE, FALSE);
502
503 return rc;
504}
505
506
507/**
508 * @brief Function for hardware enable interupts.
509 * @param sc software handle to the device
510 */

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

532 reg = OCE_READ_REG32(sc, devcfg, PCICFG_INTR_CTRL);
533 reg &= ~HOSTINTR_MASK;
534 OCE_WRITE_REG32(sc, devcfg, PCICFG_INTR_CTRL, reg);
535}
536
537
538
539/**
540 * @brief Function for hardware update multicast filter
541 * @param sc software handle to the device
542 */
543int
544oce_hw_update_multicast(POCE_SOFTC sc)
545{
546 struct ifnet *ifp = sc->ifp;
547 struct ifmultiaddr *ifma;
548 struct mbx_set_common_iface_multicast *req = NULL;
549 OCE_DMA_MEM dma;

--- 39 unchanged lines hidden ---